# Catalog Field Value Modify

Grammar — Modify value of catalog entry fieldPath for player player using operation and value
FlagsNative | Action

Modifies the value of a field for an entry. To find the name of a field path, open the data editor and turn on View Raw Data. For example, if you wanted to set the unit for the first index of a train ability, your field path string would be “InfoArray[0].Unit”.

# Arguments

  • int<preset::CatalogType> — Catalog
  • string<catalogentry> — Entry
  • string<catalogfieldpath> — Field Path
  • int — Player
  • string — Value
  • int<preset::UpgradeOperation> — Operation

Returns — bool

native bool CatalogFieldValueModify(
	int catalog,
	string entry,
	string fieldPath,
	int player,
	string value,
	int operation,
);

Category: Catalog / Support

# Examples

mods/heroes.stormmodbase.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmap/MapScript.galaxy:1493

    libCore_gv_data_XP_MinionXPModifier[1] = 1.0;
    libCore_gv_data_XP_MinionXPModifier[2] = 1.0;
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationAdd);
    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_PlayerUnit, true);
    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_FriendlyRaynor, true);

mods/heroes.stormmodbase.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmap/MapScript.galaxy:5290

    libStEx_gv_hERO_FriendlyUther = libGame_gv_players[libStEx_gv_pLAYER_02_UTHER].lv_heroUnit;
    UnitBehaviorAdd(libStEx_gv_hERO_FriendlyUther, "UtherHolyLightUpgrade", libStEx_gv_hERO_FriendlyUther, 1);
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationSubtract);
    libStEx_gf_SwaptoNewHeroforPlayer(libStEx_gv_pLAYER_03_ORDER1, "Raynor", 8);
    libStEx_gv_hERO_FriendlyRaynor = libGame_gv_players[libStEx_gv_pLAYER_03_ORDER1].lv_heroUnit;

mods/heroes.stormmodbase.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmap/MapScript.galaxy:5596

    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_EnemyGreymane, true);
    libCore_gv_bALDeathTimeOverride = 60.0;
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationAdd);
    TriggerStop(gt__1E_RoamingTipMount);
    libGame_gf_MinionStartStopMinionSpawnCycle(false);

mods/heroes.stormmod/base.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmapMapScript.galaxy:1493

    libCore_gv_data_XP_MinionXPModifier[1] = 1.0;
    libCore_gv_data_XP_MinionXPModifier[2] = 1.0;
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationAdd);
    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_PlayerUnit, true);
    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_FriendlyRaynor, true);

mods/heroes.stormmod/base.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmapMapScript.galaxy:5290

    libStEx_gv_hERO_FriendlyUther = libGame_gv_players[libStEx_gv_pLAYER_02_UTHER].lv_heroUnit;
    UnitBehaviorAdd(libStEx_gv_hERO_FriendlyUther, "UtherHolyLightUpgrade", libStEx_gv_hERO_FriendlyUther, 1);
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationSubtract);
    libStEx_gf_SwaptoNewHeroforPlayer(libStEx_gv_pLAYER_03_ORDER1, "Raynor", 8);
    libStEx_gv_hERO_FriendlyRaynor = libGame_gv_players[libStEx_gv_pLAYER_03_ORDER1].lv_heroUnit;

mods/heroes.stormmod/base.stormmaps/maps/heroes/singleplayermaps/startingexperience/tutorialveteran.stormmapMapScript.galaxy:5596

    libNtve_gf_MakeUnitInvulnerable(libStEx_gv_hERO_EnemyGreymane, true);
    libCore_gv_bALDeathTimeOverride = 60.0;
    CatalogFieldValueModify(c_gameCatalogAbil, "UtherHolyLight", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", libStEx_gv_pLAYER_02_UTHER, "4", c_upgradeOperationAdd);
    TriggerStop(gt__1E_RoamingTipMount);
    libGame_gf_MinionStartStopMinionSpawnCycle(false);

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6023

        lv_symbioteHostPlayer = UnitGetOwner(lv_symbioteHost);
        if ((UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeHeroic) == true) && (UnitGetType(lv_symbioteHost) != "AbathurEvolvedMonstrosity")) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconHero", c_upgradeOperationSet);
        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureTownHall) == true))) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6026

        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureTownHall) == true))) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconTownHall", c_upgradeOperationSet);
        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureCore) == true))) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6029

        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureCore) == true))) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconCore", c_upgradeOperationSet);
        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureMoonwell) == true) || (UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureGate) == true) || (UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureCannonTower) == true))) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6032

        }
        else if (((UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureMoonwell) == true) || (UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureGate) == true) || (UnitTypeTestFlag(UnitGetType(lv_symbioteHost), c_unitFlagTownStructureCannonTower) == true))) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconStructure", c_upgradeOperationSet);
        }
        else if ((UnitGetType(lv_symbioteHost) == "AbathurEvolvedMonstrosity")) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6035

        }
        else if ((UnitGetType(lv_symbioteHost) == "AbathurEvolvedMonstrosity")) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconMonstrosity", c_upgradeOperationSet);
        }
        else if ((UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMerc) == true)) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6038

        }
        else if ((UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMerc) == true)) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconMerc", c_upgradeOperationSet);
        }
        else if (((UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMinion) == true) || (UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeSummoned) == true) || (UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMerc) != true))) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6041

        }
        else if (((UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMinion) == true) || (UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeSummoned) == true) || (UnitTypeTestAttribute(UnitGetType(lv_symbioteHost), c_unitAttributeMerc) != true))) {
            CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "Abathur/AbathurSymbioteMinimapIconMinion", c_upgradeOperationSet);
        }
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameDataHelperLib.galaxy:6045

    }
    else {
        CatalogFieldValueModify(c_gameCatalogActor, "AbathurSymbiote", "MinimapUnitStatusFrame", lv_abathurPlayer, "", c_upgradeOperationSet);
    }
    return true;

mods/heroesmapmods/battlegroundmapmods/warheadjunction.stormmodbase.stormdata/LibMSC2.galaxy:1725

        	lv_playerIndex = PlayerGroupNextPlayer(autoF6E0373D_g, lv_playerIndex);
        	if (lv_playerIndex<0) { break; }
        	CatalogFieldValueModify(c_gameCatalogEffect, "NukeOuterImpactDamage", "Amount", lv_playerIndex, "70", c_upgradeOperationAdd);
    }
    libMSC2_gv_mMSC2NukeDamageScalesDone += 1;

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova09.sc2map/MapScript.galaxy:1588

            lv_i = 1;
            for ( ; ( (autoFD766A59_ai >= 0 && lv_i <= autoFD766A59_ae) || (autoFD766A59_ai < 0 && lv_i >= autoFD766A59_ae) ) ; lv_i += autoFD766A59_ai ) {
                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova09.sc2map/MapScript.galaxy:1589

            for ( ; ( (autoFD766A59_ai >= 0 && lv_i <= autoFD766A59_ae) || (autoFD766A59_ai < 0 && lv_i >= autoFD766A59_ae) ) ; lv_i += autoFD766A59_ai ) {
                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);
            }

mods/novastoryassets.sc2modbase3.sc2maps/maps/campaign/nova/nova09.sc2map/MapScript.galaxy:1590

                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);
            }
        }

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova09.sc2mapMapScript.galaxy:1588

            lv_i = 1;
            for ( ; ( (autoFD766A59_ai >= 0 && lv_i <= autoFD766A59_ae) || (autoFD766A59_ai < 0 && lv_i >= autoFD766A59_ae) ) ; lv_i += autoFD766A59_ai ) {
                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova09.sc2mapMapScript.galaxy:1589

            for ( ; ( (autoFD766A59_ai >= 0 && lv_i <= autoFD766A59_ae) || (autoFD766A59_ai < 0 && lv_i >= autoFD766A59_ae) ) ; lv_i += autoFD766A59_ai ) {
                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);
            }

mods/novastoryassets.sc2mod/base3.sc2maps/maps/campaign/nova/nova09.sc2mapMapScript.galaxy:1590

                CatalogFieldValueModify(c_gameCatalogAbil, "BarracksTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "FactoryTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "25", c_upgradeOperationSet);
                CatalogFieldValueModify(c_gameCatalogAbil, "StarportTrain", "InfoArray[" + IntToString(lv_i) + "].Time", auto60B674C5_var, "30", c_upgradeOperationSet);
            }
        }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:3512

    }
    lv_changed = (lv_newDelta-lv_oldDelta);
    CatalogFieldValueModify(lp_catalog, lp_entry, lp_fieldPath, lp_player, FixedToString(lv_changed, c_fixedPrecisionAny), c_upgradeOperationAdd);
    DataTableSetFixed(true, lv_dataPath, lv_newDelta);
}

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:4901

        }

        CatalogFieldValueModify(c_gameCatalogBehavior, libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], "Modification.MoveSpeedMultiplier", lp_player, FixedToString((1.0 + (libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBuffStacks[lp_group] * lv_moveSpeedHastePerStack)), c_fixedPrecisionAny), c_upgradeOperationSet);
        CatalogFieldValueModify(c_gameCatalogBehavior, libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], "Modification.AttackSpeedMultiplier", lp_player, FixedToString((1.0 + (libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBuffStacks[lp_group] * lv_attackSpeedHastePerStack)), c_fixedPrecisionAny), c_upgradeOperationSet);
        UnitBehaviorAdd(libCOMI_gv_cM_Fenix_ChampionUnit[lp_group][lp_player], libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], libCOMI_gv_cM_Fenix_ChampionUnit[lp_group][lp_player], 1);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:4902


        CatalogFieldValueModify(c_gameCatalogBehavior, libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], "Modification.MoveSpeedMultiplier", lp_player, FixedToString((1.0 + (libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBuffStacks[lp_group] * lv_moveSpeedHastePerStack)), c_fixedPrecisionAny), c_upgradeOperationSet);
        CatalogFieldValueModify(c_gameCatalogBehavior, libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], "Modification.AttackSpeedMultiplier", lp_player, FixedToString((1.0 + (libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBuffStacks[lp_group] * lv_attackSpeedHastePerStack)), c_fixedPrecisionAny), c_upgradeOperationSet);
        UnitBehaviorAdd(libCOMI_gv_cM_Fenix_ChampionUnit[lp_group][lp_player], libCOMI_gv_cM_Fenix_ChampionAvengingProtocolBehaviors[lp_group], libCOMI_gv_cM_Fenix_ChampionUnit[lp_group][lp_player], 1);
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:5057

                    }

                    CatalogFieldValueModify(c_gameCatalogEffect, "HornerMSOHealthDisplayDummy", "Amount", lp_player, FixedToString(lv_factionBonusLifeMulti, 2), c_upgradeOperationSet);
                    if ((lv_itBonusAtkSpeedMulti != 0.0)) {
                        autoE55E46B6_catalog = c_gameCatalogUnit;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:5069

                            libCOMI_gf_CatalogFieldValueAdditiveBonus(c_gameCatalogWeapon, lv_itWeapons, "Period", lp_player, "MSO", lv_factionBonusAtkSpeedMulti, true);
                        }
                        CatalogFieldValueModify(c_gameCatalogEffect, "HornerMSOAttackSpeedDisplayDummy", "Amount", lp_player, FixedToString(lv_factionBonusAtkSpeedMulti, c_fixedPrecisionAny), c_upgradeOperationSet);
                        if ((TechTreeUpgradeCount(lp_player, "HHWidowMineDeathBlossom", c_techCountCompleteOnly) == 1)) {
                            libNtve_gf_CatalogFieldValueSetAsReal(c_gameCatalogAbil, "HHWidowMineBurrowedAttack", "Cost[" + IntToString(0) + "].Cooldown.TimeUse", lp_player, (20.0 * (1.0 - (0.01 * lv_factionBonusAtkSpeedMulti))));

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:5198

                if (lv_itPlayer < 0) { break; }
                if ((lv_playerLevel[lv_itPlayer] > 0)) {
                    CatalogFieldValueModify(c_gameCatalogUnit, lv_entry, "LifeRegenRateCreep", lv_itPlayer, FixedToString(lv_liferegenrate, c_fixedPrecisionAny), c_upgradeOperationAdd);
                    CatalogFieldValueModify(c_gameCatalogUnit, lv_entry, "AttackSpeedMultiplierCreep", lv_itPlayer, FixedToString(lv_attackspeedmultiplier, c_fixedPrecisionAny), c_upgradeOperationAdd);
                }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:5199

                if ((lv_playerLevel[lv_itPlayer] > 0)) {
                    CatalogFieldValueModify(c_gameCatalogUnit, lv_entry, "LifeRegenRateCreep", lv_itPlayer, FixedToString(lv_liferegenrate, c_fixedPrecisionAny), c_upgradeOperationAdd);
                    CatalogFieldValueModify(c_gameCatalogUnit, lv_entry, "AttackSpeedMultiplierCreep", lv_itPlayer, FixedToString(lv_attackspeedmultiplier, c_fixedPrecisionAny), c_upgradeOperationAdd);
                }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:15164

    }

    CatalogFieldValueModify(c_gameCatalogEffect, "BrutalizeDamage", "Amount", libCOOC_gf_CC_PlayerOfCommanderInGroupFirst("ZergAbathur", libCOOC_gf_CC_PlayersOfCommander("ZergAbathur")), "3", c_upgradeOperationAdd);
    CatalogFieldValueModify(c_gameCatalogWeapon, "Brutalize", "Level", libCOOC_gf_CC_PlayerOfCommanderInGroupFirst("ZergAbathur", libCOOC_gf_CC_PlayersOfCommander("ZergAbathur")), "1", c_upgradeOperationAdd);
    if ((libNtve_gf_TriggeringProgressUpgrade() == "ZergMissileWeaponsLevel1")) {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:15165


    CatalogFieldValueModify(c_gameCatalogEffect, "BrutalizeDamage", "Amount", libCOOC_gf_CC_PlayerOfCommanderInGroupFirst("ZergAbathur", libCOOC_gf_CC_PlayersOfCommander("ZergAbathur")), "3", c_upgradeOperationAdd);
    CatalogFieldValueModify(c_gameCatalogWeapon, "Brutalize", "Level", libCOOC_gf_CC_PlayerOfCommanderInGroupFirst("ZergAbathur", libCOOC_gf_CC_PlayersOfCommander("ZergAbathur")), "1", c_upgradeOperationAdd);
    if ((libNtve_gf_TriggeringProgressUpgrade() == "ZergMissileWeaponsLevel1")) {
        CatalogFieldValueSet(c_gameCatalogWeapon, "Brutalize", "Icon", libCOOC_gf_CC_PlayerOfCommanderInGroupFirst("ZergAbathur", libCOOC_gf_CC_PlayersOfCommander("ZergAbathur")), "Assets\\Textures\\btn-upgrade-zerg-meleeattacks-level1.dds");

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:16960

    }

    CatalogFieldValueModify(c_gameCatalogBehavior, "DehakaConsumeEffectAir", "Duration", EventPlayer(), FixedToString(lv_durationModifier, 2), c_upgradeOperationMultiply);
    CatalogFieldValueModify(c_gameCatalogBehavior, "DehakaConsumeEffectArmored", "Duration", EventPlayer(), FixedToString(lv_durationModifier, 2), c_upgradeOperationMultiply);
    CatalogFieldValueModify(c_gameCatalogBehavior, "DehakaConsumeEffectDetector", "Duration", EventPlayer(), FixedToString(lv_durationModifier, 2), c_upgradeOperationMultiply);