# Add Attack Wave Unit Types (Swarm)

Grammar — Add (easyCount / normalCount / hardCount) unitType|Unit Type to the attack wave
FlagsNative | Action

Adds a type of unit to the next attack wave for a player; allowing you to specify a different number of units per difficulty level.

# Arguments

  • int — Easy Count
  • int — Normal Count
  • int — Advanced Count
  • string<gamelink::Unit> — Type

Returns — void

void AIAttackWaveAddUnits3(
	int n1,
	int n2,
	int n3,
	string unitType,
);

Category: AI / AttackWaves / Actions

# Examples

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4157

    AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(567), false);
    AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(585), false);
    AIAttackWaveAddUnits3(5, 5, 10, "Zergling");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 290, true);
    TriggerExecute(gt__50EggAttack, true, true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4170

    }

    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4171


    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 130, true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4172

    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 130, true);
    while (true) {

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4178

        AIAttackWaveSetTargetPlayer(gv_pLAYER_02_ZERG, PlayerGroupSingle(gv_pLAYER_01_USER));
        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(12, 12, 20, "Zergling");
        AIAttackWaveAddUnits3(2, 2, 4, "Roach");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4179

        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(12, 12, 20, "Zergling");
        AIAttackWaveAddUnits3(2, 2, 4, "Roach");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(525), false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4192

        AIAttackWaveSetTargetPlayer(gv_pLAYER_02_ZERG, PlayerGroupSingle(gv_pLAYER_01_USER));
        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(8, 8, 14, "Zergling");
        AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4193

        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(8, 8, 14, "Zergling");
        AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(525), false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zchar01.sc2map/MapScript.galaxy:4241

        }

        AIAttackWaveAddUnits3(24, 24, 48, "Zergling");
        AIAttackWaveSend(gv_pLAYER_02_ZERG, 90, false);
        Wait(35.0, c_timeAI);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:2969

                        }
                        AIAttackWaveSetTargetUnitGroup(gv_pLAYER_06_INFESTED, gv_sneakAttackTerranBase);
                        AIAttackWaveAddUnits3(4, 4, 3, "InfestedCivilian");
                        AIAttackWaveSend(gv_pLAYER_06_INFESTED, 0, true);
                    }

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4504

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4505

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 90, false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4522

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4523

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4524

            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 60, false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4537

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4538

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4539

            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid01.sc2map/MapScript.galaxy:4540

            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 60, false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4175

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION22, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 300, false);
    gv_firstWave = WaveLastCreated();

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4185

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 3, "Stalker");
    TriggerExecute(gt_DangerousAttack1Q, true, false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4186

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 3, "Stalker");
    TriggerExecute(gt_DangerousAttack1Q, true, false);
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 240, true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4191

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION22, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4192

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4193

    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 180, true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4194

    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 180, true);
    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4198

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(4, 4, 6, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"));
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 180, true);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4199

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(4, 4, 6, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"));
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 180, true);
    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/swarm/zhybrid03.sc2map/MapScript.galaxy:4203

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Archon");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "Carrier"));
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3649

    AIAttackWaveSetTargetRegion(gv_pLAYER_05_KERRIGAN_S01, RegionFromId(4), 0);
    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3650

    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3651

    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3652

    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3653

    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");
    AIAttackWaveSend(gv_pLAYER_05_KERRIGAN_S01, 60, false);

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3654

    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");
    AIAttackWaveSend(gv_pLAYER_05_KERRIGAN_S01, 60, false);
    gv_currentWave = WaveLastCreated();

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3739

    AIAttackWaveSetTargetRegion(gv_pLAYER_05_KERRIGAN_S01, RegionFromId(4), 0);
    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3740

    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3741

    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");

campaigns/swarm.sc2campaignbase.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2map/MapScript.galaxy:3742

    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4157

    AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(567), false);
    AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(585), false);
    AIAttackWaveAddUnits3(5, 5, 10, "Zergling");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 290, true);
    TriggerExecute(gt__50EggAttack, true, true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4170

    }

    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4171


    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 130, true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4172

    AIAttackWaveAddUnits3(8, 8, 10, "Zergling");
    AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk");
    AIAttackWaveAddUnits3(0, 0, 1, "Roach");
    AIAttackWaveSend(gv_pLAYER_02_ZERG, 130, true);
    while (true) {

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4178

        AIAttackWaveSetTargetPlayer(gv_pLAYER_02_ZERG, PlayerGroupSingle(gv_pLAYER_01_USER));
        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(12, 12, 20, "Zergling");
        AIAttackWaveAddUnits3(2, 2, 4, "Roach");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4179

        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(12, 12, 20, "Zergling");
        AIAttackWaveAddUnits3(2, 2, 4, "Roach");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(525), false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4192

        AIAttackWaveSetTargetPlayer(gv_pLAYER_02_ZERG, PlayerGroupSingle(gv_pLAYER_01_USER));
        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(8, 8, 14, "Zergling");
        AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4193

        AIAttackWaveSetGatherPoint(gv_pLAYER_02_ZERG, PointFromId(3));
        AIAttackWaveAddUnits3(8, 8, 14, "Zergling");
        AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk");
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(524), false);
        AIAttackWaveAddWaypoint(gv_pLAYER_02_ZERG, PointFromId(525), false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zchar01.sc2mapMapScript.galaxy:4241

        }

        AIAttackWaveAddUnits3(24, 24, 48, "Zergling");
        AIAttackWaveSend(gv_pLAYER_02_ZERG, 90, false);
        Wait(35.0, c_timeAI);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:2969

                        }
                        AIAttackWaveSetTargetUnitGroup(gv_pLAYER_06_INFESTED, gv_sneakAttackTerranBase);
                        AIAttackWaveAddUnits3(4, 4, 3, "InfestedCivilian");
                        AIAttackWaveSend(gv_pLAYER_06_INFESTED, 0, true);
                    }

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4504

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4505

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 90, false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4522

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4523

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4524

            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 60, false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4537

        if ((gv_cleanserTeamTargets[gv_cleanserWaveCount] != null)) {
            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4538

            AIAttackWaveSetTargetUnitPoint(gv_pLAYER_04_DOMINION_CLEANSERS, gv_cleanserTeamTargets[gv_cleanserWaveCount]);
            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4539

            AIAttackWaveAddUnits3(3, 3, 4, "Firebat");
            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid01.sc2mapMapScript.galaxy:4540

            AIAttackWaveAddUnits3(1, 1, 2, "Medivac");
            AIAttackWaveAddUnits3(1, 1, 2, "Banshee");
            AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel");
            AIAttackWaveAddWaypoint(gv_pLAYER_04_DOMINION_CLEANSERS, gf_GetDropOffPoint(gv_cleanserTeamTargets[gv_cleanserWaveCount]), true);
            AIAttackWaveSend(gv_pLAYER_04_DOMINION_CLEANSERS, 60, false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4175

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION22, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 300, false);
    gv_firstWave = WaveLastCreated();

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4185

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 3, "Stalker");
    TriggerExecute(gt_DangerousAttack1Q, true, false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4186

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 3, "Stalker");
    TriggerExecute(gt_DangerousAttack1Q, true, false);
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 240, true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4191

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION22, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4192

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION22, PointFromId(435));
    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4193

    AIAttackWaveAddUnits3(3, 3, 4, "Zealot");
    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 180, true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4194

    AIAttackWaveAddUnits3(2, 2, 4, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, "Sentry");
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");
    AIAttackWaveSend(gv_pLAYER_02_DOMINION22, 180, true);
    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4198

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(4, 4, 6, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"));
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 180, true);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4199

    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(4, 4, 6, "Stalker");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"));
    AIAttackWaveSend(gv_pLAYER_02_DOMINION2, 180, true);
    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/swarm/zhybrid03.sc2mapMapScript.galaxy:4203

    AIAttackWaveSetTargetPlayer(gv_pLAYER_02_DOMINION2, PlayerGroupSingle(gv_pLAYER_01_USER));
    AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(5));
    AIAttackWaveAddUnits3(3, 3, 4, "Archon");
    AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "Carrier"));
    AIAttackWaveAddUnits3(0, 0, 1, "Observer");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3649

    AIAttackWaveSetTargetRegion(gv_pLAYER_05_KERRIGAN_S01, RegionFromId(4), 0);
    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3650

    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3651

    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3652

    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3653

    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");
    AIAttackWaveSend(gv_pLAYER_05_KERRIGAN_S01, 60, false);

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3654

    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");
    AIAttackWaveSend(gv_pLAYER_05_KERRIGAN_S01, 60, false);
    gv_currentWave = WaveLastCreated();

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3739

    AIAttackWaveSetTargetRegion(gv_pLAYER_05_KERRIGAN_S01, RegionFromId(4), 0);
    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3740

    AIAttackWaveSetGatherEarlyNoReplace(gv_pLAYER_05_KERRIGAN_S01);
    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3741

    AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor");
    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");

campaigns/swarm.sc2campaign/base.sc2maps/maps/campaign/voidprologue/voidprologue01.sc2mapMapScript.galaxy:3742

    AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter");
    AIAttackWaveAddUnits3(5, 5, 5, "RoachVile");
    AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler");
    AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination");
    AIAttackWaveAddUnits3(2, 2, 2, "Queen");