# Cooldown For Unit Abilty

Grammar — Cooldown of cooldown inCooldown on ability inAbil on unit inUnit
FlagsNative | Function

Returns the cooldown time for the specified ability cooldown link.

# Arguments

  • unit — Unit
  • string<gamelink::Abil> — Ability
  • string<cooldown> — Cooldown

Returns — fixed

native fixed UnitAbilityGetCooldown(
	unit inUnit,
	string inAbil,
	string inCooldown,
);

Category: Unit / Charges And Cooldowns

# Examples

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1203

    BoardItemSetFontSize(gv_artifactBoard, 1, 1, 18);
    BoardShowAll(true, PlayerGroupAll());
    libNtve_gf_DisplayScreenButton(1, (StringExternal("Param/Value/EE7FA59B") + StringExternal("Param/Value/470B45ED") + libCamp_gf_FormatTimeCampaign(FixedToInt(UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova"))) + StringExternal("Param/Value/21D8590C")), 400, 132, c_anchorTopRight, 15, 225, gt_EnergyNovaButton);
    DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), false);
    libNtve_gf_HideScreenButton(true, 1);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1215

        }

        if ((UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") == 0.0)) {
            libNtve_gf_SetDialogItemText(libNtve_gf_ScreenButton(1), StringExternal("Param/Value/FC58AB37"), PlayerGroupAll());
            DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), true);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1221

        }
        else {
            libNtve_gf_SetDialogItemText(libNtve_gf_ScreenButton(1), (StringExternal("Param/Value/ADB51156") + StringExternal("Param/Value/D927B1B4") + libCamp_gf_FormatTimeCampaign(FixedToInt(UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova"))) + StringExternal("Param/Value/4B589141")), PlayerGroupAll());
            DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), false);
            libNtve_gf_StopFlashingScreenButton(1);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1359

        }

        if ((UnitAbilityGetCooldown(UnitFromId(42), "EnergyNova", "Abil/Supernova") == 0.0)) {
            gv_energyQPendingCount -= 1;
            break;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1496

        }

        if (!((UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") == 0.0))) {
            return false;
        }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian03.sc2map/MapScript.galaxy:1512

    TriggerEnable(TriggerGetCurrent(), false);
    TriggerQueueEnter();
    if (((gv_gameOver == true) || (UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") != 0.0) || ((gv_recentBuildingDeaths < 2) && (UnitGroupCount(UnitGroupAlliance(gv_pLAYER_USER, c_unitAllianceEnemy, RegionFromId(22), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < 60)))) {
        TriggerEnable(TriggerGetCurrent(), true);
        return true;

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1203

    BoardItemSetFontSize(gv_artifactBoard, 1, 1, 18);
    BoardShowAll(true, PlayerGroupAll());
    libNtve_gf_DisplayScreenButton(1, (StringExternal("Param/Value/EE7FA59B") + StringExternal("Param/Value/470B45ED") + libCamp_gf_FormatTimeCampaign(FixedToInt(UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova"))) + StringExternal("Param/Value/21D8590C")), 400, 132, c_anchorTopRight, 15, 225, gt_EnergyNovaButton);
    DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), false);
    libNtve_gf_HideScreenButton(true, 1);

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1215

        }

        if ((UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") == 0.0)) {
            libNtve_gf_SetDialogItemText(libNtve_gf_ScreenButton(1), StringExternal("Param/Value/FC58AB37"), PlayerGroupAll());
            DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), true);

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1221

        }
        else {
            libNtve_gf_SetDialogItemText(libNtve_gf_ScreenButton(1), (StringExternal("Param/Value/ADB51156") + StringExternal("Param/Value/D927B1B4") + libCamp_gf_FormatTimeCampaign(FixedToInt(UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova"))) + StringExternal("Param/Value/4B589141")), PlayerGroupAll());
            DialogControlSetEnabled(libNtve_gf_ScreenButton(1), PlayerGroupAll(), false);
            libNtve_gf_StopFlashingScreenButton(1);

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1359

        }

        if ((UnitAbilityGetCooldown(UnitFromId(42), "EnergyNova", "Abil/Supernova") == 0.0)) {
            gv_energyQPendingCount -= 1;
            break;

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1496

        }

        if (!((UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") == 0.0))) {
            return false;
        }

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian03.sc2mapMapScript.galaxy:1512

    TriggerEnable(TriggerGetCurrent(), false);
    TriggerQueueEnter();
    if (((gv_gameOver == true) || (UnitAbilityGetCooldown(gv_artifact, "EnergyNova", "Abil/Supernova") != 0.0) || ((gv_recentBuildingDeaths < 2) && (UnitGroupCount(UnitGroupAlliance(gv_pLAYER_USER, c_unitAllianceEnemy, RegionFromId(22), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < 60)))) {
        TriggerEnable(TriggerGetCurrent(), true);
        return true;

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zzerus02.sc2map/MapScript.galaxy:2681


    libSwaC_gf_SendTransmissionCampaign(null, "zMission_Zerus02|Line00016", c_transmissionDurationAdd, 0.0, true, libSwaC_ge_CampaignTransmissionPortraitOptioins_HidePortraitAfter, libSwaC_ge_CampaignTransmissionCueSoundOptions_DefaultCueSoundBehavior);
    if ((UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning") < 0.1) && (TriggerIsEnabled(gt_SpawnLocustsButtonController) == false)) {
        auto4FEEB68E_val = RandomInt(1, 3);
        if (auto4FEEB68E_val == 1) {

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zzerus02.sc2map/MapScript.galaxy:2862

        }

        if ((UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning") == 0.0)) {
            libNtve_gf_SetDialogItemText(gv_spawnLocustButton, StringExternal("Param/Value/F130CE64"), PlayerGroupAll());
            DialogControlSetEnabled(gv_spawnLocustButton, PlayerGroupAll(), true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zzerus02.sc2map/MapScript.galaxy:2872

        }
        else {
            TextExpressionSetToken("Param/Expression/A35860D2", "A", TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), FixedToInt(UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning"))));
            libNtve_gf_SetDialogItemText(gv_spawnLocustButton, TextExpressionAssemble("Param/Expression/A35860D2"), PlayerGroupAll());
            DialogControlSetEnabled(gv_spawnLocustButton, PlayerGroupAll(), false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zzerus02.sc2map/MapScript.galaxy:2947


    gv_spawnLocustsUsed += 1;
    TimerStart(gv_spawnLocustsCooldownTimer, UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning"), false, c_timeAI);
    TriggerExecute(gt_SpawnLocustsUsedQ, true, false);
    CameraShake(gv_pLAYER_01_USER, "Light", "Earthquake", 0.5, 0.5, 4.0);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zzerus02.sc2mapMapScript.galaxy:2681


    libSwaC_gf_SendTransmissionCampaign(null, "zMission_Zerus02|Line00016", c_transmissionDurationAdd, 0.0, true, libSwaC_ge_CampaignTransmissionPortraitOptioins_HidePortraitAfter, libSwaC_ge_CampaignTransmissionCueSoundOptions_DefaultCueSoundBehavior);
    if ((UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning") < 0.1) && (TriggerIsEnabled(gt_SpawnLocustsButtonController) == false)) {
        auto4FEEB68E_val = RandomInt(1, 3);
        if (auto4FEEB68E_val == 1) {

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zzerus02.sc2mapMapScript.galaxy:2862

        }

        if ((UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning") == 0.0)) {
            libNtve_gf_SetDialogItemText(gv_spawnLocustButton, StringExternal("Param/Value/F130CE64"), PlayerGroupAll());
            DialogControlSetEnabled(gv_spawnLocustButton, PlayerGroupAll(), true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zzerus02.sc2mapMapScript.galaxy:2872

        }
        else {
            TextExpressionSetToken("Param/Expression/A35860D2", "A", TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), FixedToInt(UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning"))));
            libNtve_gf_SetDialogItemText(gv_spawnLocustButton, TextExpressionAssemble("Param/Expression/A35860D2"), PlayerGroupAll());
            DialogControlSetEnabled(gv_spawnLocustButton, PlayerGroupAll(), false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zzerus02.sc2mapMapScript.galaxy:2947


    gv_spawnLocustsUsed += 1;
    TimerStart(gv_spawnLocustsCooldownTimer, UnitAbilityGetCooldown(gv_chrysalis, "PrimalSpawning", "Abil/PrimalSpawning"), false, c_timeAI);
    TriggerExecute(gt_SpawnLocustsUsedQ, true, false);
    CameraShake(gv_pLAYER_01_USER, "Light", "Earthquake", 0.5, 0.5, 4.0);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignMissionLib.galaxy:5097

    libVCMI_gf_PM_SoATargetingModeExit();
    Wait(0.03, c_timeGame);
    if ((UnitAbilityGetCooldown(libVCMI_gv_sOA_CasterUnit, "SOAPurifierBeam", "Abil/SOAPurifierBeam") > 0.0)) {
        DataTableSetInt(false, TriggerEventParamName(libVCMI_gv_pMC_SoATargetingEventExited, libVCMI_gv_pMC_SoATargetingParamReason), (libVCMI_ge_SpearofAdunTargetingExitType_ByFiring));
        TriggerSendEvent(libVCMI_gv_pMC_SoATargetingEventExited);

mods/core.sc2modbase.sc2data/TriggerLibs/NativeLib.galaxy:5861

    // Automatic Variable Declarations
    // Implementation
    UnitAbilityAddCooldown(lp_inUnit, lp_inAbil, lp_inCooldown, (-1.0 * UnitAbilityGetCooldown(lp_inUnit, lp_inAbil, lp_inCooldown)));
}

mods/core.stormmodbase.stormdata/TriggerLibs/NativeLib.galaxy:4999

    // Automatic Variable Declarations
    // Implementation
    UnitAbilityAddCooldown(lp_inUnit, lp_inAbil, lp_inCooldown, (-1.0 * UnitAbilityGetCooldown(lp_inUnit, lp_inAbil, lp_inCooldown)));
}

mods/novastoryassets.sc2modbase.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy:4864

        auto6284706C_var = UnitGroupUnitFromEnd(auto6284706C_g, auto6284706C_u);
        if (auto6284706C_var == null) { break; }
        if ((UnitAbilityGetCooldown(auto6284706C_var, "RavagerCorrosiveBile", "Abil/RavagerCorrosiveBile") > 0.0)) {
            UnitGroupRemove(lv_nearbyRavagers, auto6284706C_var);
        }

mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2mapMapScript.galaxy:4864

        auto6284706C_var = UnitGroupUnitFromEnd(auto6284706C_g, auto6284706C_u);
        if (auto6284706C_var == null) { break; }
        if ((UnitAbilityGetCooldown(auto6284706C_var, "RavagerCorrosiveBile", "Abil/RavagerCorrosiveBile") > 0.0)) {
            UnitGroupRemove(lv_nearbyRavagers, auto6284706C_var);
        }

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

    // Implementation
    while (true) {
        while (!(((UnitAbilityGetCooldown(lp_unit, lp_ability, lp_cooldownLink) > 20.0) || ((UnitAbilityChargeInfo(lp_unit, AbilityCommand(lp_ability, 0), c_unitAbilChargeCountLeft) == 0.0) && (UnitAbilityGetChargeRegen(lp_unit, lp_ability, lp_cooldownLink) > 20.0))))) {
            Wait(1.0, c_timeGame);
        }

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

            Wait(1.0, c_timeGame);
        }
        while (!((UnitAbilityGetCooldown(lp_unit, lp_ability, lp_cooldownLink) <= 0.0) && ((UnitAbilityGetChargeRegen(lp_unit, lp_ability, lp_cooldownLink) <= 0.0) || (UnitAbilityChargeInfo(lp_unit, AbilityCommand(lp_ability, 0), c_unitAbilChargeCountLeft) > 0.0)))) {
            Wait(1.0, c_timeGame);
        }

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

    // Implementation
    while (true) {
        while (!((libCOMI_gv_cM_HornerVOFleetOffCooldown == false) && ((UnitAbilityGetCooldown(lp_unit, lp_ability, lp_cooldownLink) > 20.0) || ((UnitAbilityChargeInfo(lp_unit, AbilityCommand(lp_ability, 0), c_unitAbilChargeCountLeft) == 0.0) && (UnitAbilityGetChargeRegen(lp_unit, lp_ability, lp_cooldownLink) > 20.0))))) {
            Wait(1.0, c_timeGame);
        }

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

            Wait(1.0, c_timeGame);
        }
        while (!((UnitAbilityGetCooldown(lp_unit, lp_ability, lp_cooldownLink) <= 0.0) && ((UnitAbilityGetChargeRegen(lp_unit, lp_ability, lp_cooldownLink) <= 0.0) || (UnitAbilityChargeInfo(lp_unit, AbilityCommand(lp_ability, 0), c_unitAbilChargeCountLeft) > 0.0)))) {
            Wait(1.0, c_timeGame);
        }

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

    }

    lv_cooldown = UnitAbilityGetCooldown(lv_unit, "RavagerAbathurCorrosiveBile", "Abil/RavagerAbathurCorrosiveBile");
    lv_multiplier = UnitWeaponSpeedMultiplier(lv_unit, 1);
    UnitAbilityReset(lv_unit, AbilityCommand("RavagerAbathurCorrosiveBile", 0), c_spendLocationAll);

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

    }

    if ((UnitAbilityGetCooldown(libCOMI_gv_cM_GlobalCasterUnit[lv_p], "NovaGriffinBombingRunActivate", "Abil/NovaGriffinBombingRunActivate") > 1.0)) {
        UnitCreateEffectUnit(libCOMI_gv_cM_GlobalCasterUnit[lv_p], "NovaGriffinGCD", libCOMI_gv_cM_GlobalCasterUnit[lv_p]);
    }

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

    lv_source = EventUnit();
    lv_shields = UnitGetPropertyFixed(lv_source, c_unitPropShields, c_unitPropCurrent);
    lv_cooldown = UnitAbilityGetCooldown(lv_source, "ZeratulStructureBarrier", "Abil/ZeratulStructureBarrier");

    // Actions

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

    lv_source = EventPlayerEffectUsedUnit(c_effectUnitCaster);
    lv_shields = UnitGetPropertyFixed(lv_projection, c_unitPropShields, c_unitPropCurrent);
    lv_cooldown = UnitAbilityGetCooldown(lv_projection, "ZeratulStructureBarrier", "Abil/ZeratulStructureBarrier");

    // Actions

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

    // Conditions
    if (testConds) {
        if (!((UnitAbilityGetCooldown(lv_caster, lv_abil, CatalogFieldValueGet(c_gameCatalogAbil, lv_abil, "Cost[" + IntToString(0) + "].Cooldown.Link", EventPlayer())) == 0.0))) {
            return false;
        }

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

    // Conditions
    if (testConds) {
        if (!((UnitAbilityGetCooldown(lv_caster, lv_abil, CatalogFieldValueGet(c_gameCatalogAbil, lv_abil, "Cost[" + IntToString(0) + "].Cooldown.Link", EventPlayer())) == 0.0))) {
            return false;
        }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:1949


    // Implementation
    if (((UnitGroupCount(lp_nearByUnits, c_unitCountAlive) <= 0) || (UnitOrderIsValid(lp_aIUnit, Order(AbilityCommand("MutatorAmonTychusTossGrenade", 0))) == false) || (UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonTychusTossGrenade", "Abil/MutatorAmonTychusTossGrenade") > 0.0) || (UnitOrderHasAbil(lp_aIUnit, "MutatorAmonTychusTossGrenade") == true))) {
        return ;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:1986

    AISetFilterBits(lv_enemyNearbyFilter, UnitFilter((1 << c_targetFilterVisible), 0, (1 << c_targetFilterAir) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterBuried), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterHallucination - 32)) | (1 << (c_targetFilterInvulnerable - 32))));
    lv_enemyUnitsNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
    if (((UnitGroupCount(lv_enemyUnitsNearby, c_unitCountAlive) <= 0) || (UnitOrderIsValid(lp_aIUnit, Order(AbilityCommand("MutatorAmonRaynorSnipe", 0))) == false) || (UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonRaynorSnipe", "Abil/MutatorAmonRaynorSnipe") > 0.0) || (UnitOrderHasAbil(lp_aIUnit, "MutatorAmonRaynorSnipe") == true))) {
        return ;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2036

    }

    if ((UnitOrderHasAbil(lp_aIUnit, "MutatorAmonDehakaDrag") == false) && (UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonDehakaDrag", "Drag") <= 0.0)) {
        lv_abilityRange = StringToFixed(CatalogFieldValueGet(c_gameCatalogAbil, "MutatorAmonDehakaDrag", "Range[" + IntToString(0) + "]", lp_owner));
        AISetFilterAlliance(lv_canidatesFilter, c_playerGroupEnemy);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2068

    }

    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonKhaydarinMonolith", "Abil/MutatorAmonKhaydarinMonolith") <= 0.0)) {
        libNtve_gf_AICast(lp_aIUnit, OrderTargetingPoint(AbilityCommand("MutatorAmonKhaydarinMonolith", 0), PointInterpolate(UnitGetPosition(lp_aIUnit), UnitGetPosition(UnitGroupRandomUnit(lp_nearByUnits, c_unitCountAlive)), -0.5)));
        return ;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2112

    }

    if ((libCOMI_gf_MinimumDifficultyValueCoopInteger(0, 0, 1, 1, 0, 0) == 1) && (UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonNovaNuke", "Abil/MutatorAmonNovaNuke") <= 0.0)) {
        lv_abilityRange = CatalogFieldValueGetAsInt(c_gameCatalogAbil, "MutatorAmonNovaNuke", "Range[" + IntToString(0) + "]", lp_owner);
        lv_abilityDamage = CatalogFieldValueGetAsInt(c_gameCatalogEffect, "MutatorAmonNovaNukeDamage", "Amount", lp_owner);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2212

    AISetFilterPlane(lv_targetFilter3, c_planeGround);
    lv_roachCandidates = AIGetFilterGroup(lv_targetFilter3, lp_nearByUnits);
    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonZagaraMassRoachDrop", "MutatorAmonZagaraInfestedPods") <= 0.0) && (UnitGroupCount(lv_roachCandidates, c_unitCountAlive) > 0)) {
        lv_abilityRange = 13.0;
        lv_abilityDamage = 500;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2270

    AISetFilterAlliance(lv_enemyNearbyFilter, c_playerGroupEnemy);
    lv_enemiesNearby = AIGetFilterGroup(lv_enemyNearbyFilter, lp_nearByUnits);
    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonArtanisAstralWind", "Abil/MutatorAmonArtanisAstralWind") <= 0.0) && ((UnitGetPropertyFixed(lp_aIUnit, c_unitPropShieldsMax, c_unitPropCurrent) - UnitGetPropertyFixed(lp_aIUnit, c_unitPropShields, c_unitPropCurrent)) > 150.0)) {
        libNtve_gf_AICast(lp_aIUnit, Order(AbilityCommand("MutatorAmonArtanisAstralWind", 0)));
        return ;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2279

    }

    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonArtanisLightningDash", "Abil/MutatorAmonArtanisLightningDash") <= 0.0)) {
        lv_abilityRange = CatalogFieldValueGetAsInt(c_gameCatalogAbil, "MutatorAmonArtanisLightningDash", "Range[" + IntToString(0) + "]", lp_owner);
        lv_abilityDamage = StringToInt(CatalogFieldValueGet(c_gameCatalogEffect, "MutatorAmonArtanisLightningDashDamage", "Amount", lp_owner));

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2322

    }

    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonPrologueVoidArmor", "Abil/MutatorAmonPrologueVoidArmor") <= 0.0)) {
        libNtve_gf_AICast(lp_aIUnit, Order(AbilityCommand("MutatorAmonPrologueVoidArmor", 0)));
        return ;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2331

    AISetFilterPlane(lv_canidatesFilter, c_planeGround);
    AISetFilterLifeSortReference(lv_canidatesFilter, lv_slashDamage, (lv_slashDamage * 0.2));
    if ((UnitAbilityGetCooldown(lp_aIUnit, "MutatorAmonZeratulBlink", "Abil/MutatorAmonZeratulBlink") <= 0.0)) {
        AISetFilterRange(lv_canidatesFilter, lp_aIUnit, lv_blinkDistance);
        lv_canidates = AIGetFilterGroup(lv_canidatesFilter, lv_enemyUnitsNearby);