# Tactical AI - Cast

Grammar — Suggest order order for unit unit with retreat toggle of retreat. Optionally passes marker marker info
FlagsNative | Action

Suggests an order to a unit. Works the same as Issue AI Order, but with additional parameters. If the computer that controls the unit has the ability to execute the order (with respect to its current APM constraint), then it will do so. The order will eventually be dropped if the computer is unable to execute it for a few seconds after it was issued. If you need a unit to do something immediately, use Issue Order instead. The Marker parameter is optional, pass in null if you don’t want to use it.

# Arguments

  • unit — Unit
  • order — Order
  • marker — Marker
  • bool — Retreat

Returns — int

native int AICast(unit u, order o, marker m, bool retreat);

Category: AI Advanced / Tactical / Actions

# Examples

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:20

        ord = OrderSetAutoCast(repaircmd, false);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker,  c_castHold);
            return;
        }

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:101


    OrderSetTargetPoint(ord, loc);
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:147


    // cast a cancel order to stop barraging the empty area
    AICast(aiUnit, cancelOrd, c_noMarker, c_castHold);
}

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:358

        OrderSetTargetUnit(ord, unitToCheck);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return true;    
        }

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:394

    }

    AICast(aiUnit, ord, c_noMarker, c_castRetreat);
    return true;
}

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:494

    ord = BioPlasmidDischarge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

campaigns/liberty.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:500

    ord = BioStasis(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:10021

            lv_playerGroup = UnitGroup(null, gv_p01_USER, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 2);
            if ((UnitGroupCount(lv_playerGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, Order(AbilityCommand("HybridFAoEStun", 0)), null, false);
            }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:10072

            lv_zergGroup = UnitGroup(null, gv_p05_ZERG_LAB_SPECIMENS, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1);
            if ((UnitGroupCount(lv_zergGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, OrderTargetingUnit(AbilityCommand("ConsumeDNA", 0), UnitGroupRandomUnit(lv_zergGroup, c_unitCountAlive)), null, false);
            }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/thorner05s.sc2map/MapScript.galaxy:10123

            lv_protossGroup = UnitGroup(null, gv_p06_PROTOSS_LAB_SPECIMENS, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1);
            if ((UnitGroupCount(lv_protossGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, OrderTargetingUnit(AbilityCommand("ConsumeDNA", 0), UnitGroupRandomUnit(lv_protossGroup, c_unitCountAlive)), null, false);
            }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/ttosh03a.sc2map/MapScript.galaxy:472

    lv_snipeOrder = OrderTargetingUnit(AbilityCommand("Snipe", 0), UnitGroupUnit(lp_candidates, 1));
    if ((UnitOrderIsValid(lp_ghost, lv_snipeOrder) == true)) {
        AICast(lp_ghost, lv_snipeOrder, lv_snipeMarker, false);
    }

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tzeratul02.sc2map/MapScript.galaxy:1944

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tzeratul02.sc2map/MapScript.galaxy:1995

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tzeratul02.sc2map/MapScript.galaxy:2050

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/thorner05s.sc2mapMapScript.galaxy:10021

            lv_playerGroup = UnitGroup(null, gv_p01_USER, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 2);
            if ((UnitGroupCount(lv_playerGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, Order(AbilityCommand("HybridFAoEStun", 0)), null, false);
            }

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/thorner05s.sc2mapMapScript.galaxy:10072

            lv_zergGroup = UnitGroup(null, gv_p05_ZERG_LAB_SPECIMENS, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1);
            if ((UnitGroupCount(lv_zergGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, OrderTargetingUnit(AbilityCommand("ConsumeDNA", 0), UnitGroupRandomUnit(lv_zergGroup, c_unitCountAlive)), null, false);
            }

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/thorner05s.sc2mapMapScript.galaxy:10123

            lv_protossGroup = UnitGroup(null, gv_p06_PROTOSS_LAB_SPECIMENS, RegionCircle(UnitGetPosition(lv_hybridLocal), 4.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1);
            if ((UnitGroupCount(lv_protossGroup, c_unitCountAlive) > 0)) {
                AICast(gv_hybrid, OrderTargetingUnit(AbilityCommand("ConsumeDNA", 0), UnitGroupRandomUnit(lv_protossGroup, c_unitCountAlive)), null, false);
            }

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/ttosh03a.sc2mapMapScript.galaxy:472

    lv_snipeOrder = OrderTargetingUnit(AbilityCommand("Snipe", 0), UnitGroupUnit(lp_candidates, 1));
    if ((UnitOrderIsValid(lp_ghost, lv_snipeOrder) == true)) {
        AICast(lp_ghost, lv_snipeOrder, lv_snipeMarker, false);
    }

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tzeratul02.sc2mapMapScript.galaxy:1944

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tzeratul02.sc2mapMapScript.galaxy:1995

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tzeratul02.sc2mapMapScript.galaxy:2050

    TriggerEnable(TriggerGetCurrent(), false);
    gv_hybridBusy = true;
    AICast(EventUnit(), Order(AbilityCommand("PsionicShockwave", 0)), null, false);
    Wait(2.5, c_timeGame);
    gv_hybridBusy = false;

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:20

        ord = OrderSetAutoCast(repaircmd, false);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker,  c_castHold);
            return;
        }

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:101


    OrderSetTargetPoint(ord, loc);
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:147


    // cast a cancel order to stop barraging the empty area
    AICast(aiUnit, cancelOrd, c_noMarker, c_castHold);
}

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:358

        OrderSetTargetUnit(ord, unitToCheck);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return true;    
        }

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:394

    }

    AICast(aiUnit, ord, c_noMarker, c_castRetreat);
    return true;
}

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:494

    ord = BioPlasmidDischarge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

campaigns/swarm.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:500

    ord = BioStasis(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

campaigns/void.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:20

        ord = OrderSetAutoCast(repaircmd, false);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker,  c_castHold);
            return;
        }

campaigns/void.sc2campaignbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:966

    ord = CreepTumor(player, aiUnit);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castRetreat);
        return;
    }

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

    // Automatic Variable Declarations
    // Implementation
    AICast(lp_unit, lp_order, c_noMarker, c_castHold);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TacticalAI.galaxy:230

        return false;
    }
    AICast(aiUnit, ord, mark, retreat);
    return true;
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:163

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:201

    here = UnitGetPosition(aiUnit);
    if (AINearbyUnits(player, c_PU_VoidRay, here, 10, 1)) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return true;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:207

        ord = AICreateOrder(player, c_AB_Hallucinate_Colossus, 0);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return true;
        }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:214

        ord = AICreateOrder(player, c_AB_Hallucinate_Archon, 0);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return true;
        }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:224

            ord = AICreateOrder(player, c_AB_Hallucinate_Immortal, 0);
            if (UnitOrderIsValid(aiUnit, ord)) {
                AICast(aiUnit, ord, c_noMarker, c_castHold);
                return true;
            }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:232

    ord = AICreateOrder(player, c_AB_Hallucinate_Stalker, 0);
    if (UnitOrderIsValid(aiUnit, ord)) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return true;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:262

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:654

    ord = CorePhotonOvercharge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:666

    ord = CoreMassRecall(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:715

    ord = CorePhotonOvercharge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:94

    ord = AIOrder250mmStrikeCannons(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
    }
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:138


    OrderSetTargetPoint(ord, loc);
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:179


    // cast a cancel order to stop barraging the empty area
    AICast(aiUnit, cancelOrd, c_noMarker, c_castHold);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:411

        return;
    }
    AICast(aiUnit, ord, mark, c_castRetreat);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:601

        ord = AITacticalJump(player, aiUnit, scanGroup);
        if (ord != null) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return;
        }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:729

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:748

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);

    //  Queue an attack move towards the threat to make sure we path past a LOS blocker.

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:941

        return false;
    }
    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1036

            continue;
        }
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return true;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1077

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    AIClearCloakedAttacker(player, loc);
    return true;

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:131

    ord = SpawnLarva(player, aiUnit);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:137

    ord = Transfusion(player, aiUnit, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:142

    ord = CreepTumor(player, aiUnit);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castRetreat);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:180

    }

    AICast(aiUnit, ord, c_noMarker, c_castRetreat);
}

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:350

    ord = BlindingCloud(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:357

    ord = Abduct(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:364

    ord = ParasiticBomb(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:436

    ord = BurrowCharge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:715

    ord = NeuralParasite(player, aiUnit, scanGroup, mark, gameMark, lowVitality);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/core.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:779

    ord = ToggleVolatileBurstBuilding(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:113

	ord = DefilerPlague(player, aiUnit, scanGroup);
	if (ord != null) {
		AICast(aiUnit, ord, c_noMarker, c_castHold);
		return;
	}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:323

    ord = QueenClassicParasite(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castRetreat);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:342

    ord = CreepTumor(player, aiUnit);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castRetreat);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:370

        ord = OrderSetAutoCast(repaircmd, false);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker,  c_castHold);
            return;
        }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:451


    OrderSetTargetPoint(ord, loc);
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:497


    // cast a cancel order to stop barraging the empty area
    AICast(aiUnit, cancelOrd, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:562

        }
    }
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:714

        OrderSetTargetUnit(ord, unitToCheck);
        if (UnitOrderIsValid(aiUnit, ord)) {
            AICast(aiUnit, ord, c_noMarker, c_castHold);
            return true;    
        }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:750

    }

    AICast(aiUnit, ord, c_noMarker, c_castRetreat);
    return true;
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactCampAI.galaxy:850

    ord = BioPlasmidDischarge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TacticalAI.galaxy:230

        return false;
    }
    AICast(aiUnit, ord, mark, retreat);
    return true;
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:165

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:264

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:632

    ord = CorePhotonOvercharge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:638

    ord = CoreTimeWarp(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:644

    ord = CoreMassRecall(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:693

    ord = CorePhotonOvercharge(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:699

    ord = CoreTimeWarp(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:705

    ord = MothershipVortex(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castRetreat);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:711

    ord = CoreMassRecall(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:929

    }
   
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:97

    ord = AIOrder250mmStrikeCannons(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
    }
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:141


    OrderSetTargetPoint(ord, loc);
    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:182


    // cast a cancel order to stop barraging the empty area
    AICast(aiUnit, cancelOrd, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:393

        return;
    }
    AICast(aiUnit, ord, mark, c_castRetreat);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:578

    ord = AITacticalJump(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:705

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:724

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);

    //  Queue an attack move towards the threat to make sure we path past a LOS blocker.

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:906

        return false;
    }
    AICast(aiUnit, ord, c_noMarker, c_castHold);
    return true;
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:997

            continue;
        }
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return true;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1057

    }

    AICast(aiUnit, ord, c_noMarker, c_castHold);
    AIClearCloakedAttacker(player, loc);
    g_lastAIScannerSweep = AIGetTime();

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:155

    ord = Transfusion(player, aiUnit, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:160

    ord = CreepTumor(player, aiUnit);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castRetreat);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:215

    }

    AICast(aiUnit, ord, c_noMarker, c_castRetreat);
}

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:448

    ord = ViperConsumption(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:454

    ord = BlindingCloud(player, aiUnit, scanGroup);
    if (ord != null) {
        AICast(aiUnit, ord, c_noMarker, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:461

    ord = Abduct(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/Tactical/TactZergAI.galaxy:472

    ord = ParasiticBomb(player, aiUnit, scanGroup, mark);
    if (ord != null) {
        AICast(aiUnit, ord, mark, c_castHold);
        return;
    }