# Add Attack Wave Unit Types (Swarm)
Grammar — Add (easyCount / normalCount / hardCount) unitType|Unit Type to the attack wave
Flags —Native
|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 Countint
— Normal Countint
— Advanced Countstring
[ gamelink::Unit ] — Type
Returns — void
void AIAttackWaveAddUnits3(
int n1,
int n2,
int n3,
string unitType,
);
# Related
Category: AI / AttackWaves / Actions
- [F] —
void
— Add Unit To Attack Wave — ( AIAttackWaveUseUnit ) - [F] —
void
— Add Unit Group To Attack Wave — ( AIAttackWaveUseGroup ) - [F] —
void
— Add Escort Unit To Attack Wave — ( AIAttackWaveAddEscortUnit ) - [F] —
void
— Add Escort UnitType To Attack Wave — ( AIAttackWaveAddEscortType ) - [F] —
void
— Add Attack Wave Waypoint — ( AIAttackWaveAddWaypoint ) - [F] —
void
— Send Attack Wave — ( AIAttackWaveSend ) - [F] —
void
— Cancel Attack Wave — ( AIAttackWaveCancel ) - [F] —
void
— Set Attack Wave Gather Point — ( AIAttackWaveSetGatherPoint ) - [F] —
void
— Set Target Player For Attack Waves — ( AIAttackWaveSetTargetPlayer ) - [F] —
void
— Set Target Unit For Attack Waves — ( AIAttackWaveSetTargetUnit ) - [F] —
void
— Set Target UnitGroup For Attack Waves — ( AIAttackWaveSetTargetUnitGroup ) - [F] —
void
— Set Target UnitArea For Attack Waves — ( AIAttackWaveSetTargetUnitPoint ) - [F] —
void
— Set Target Point For Attack Waves — ( AIAttackWaveSetTargetPoint ) - [F] —
void
— Set Target Merge For Attack Waves — ( AIAttackWaveSetTargetMerge ) - [F] —
void
— Set Target Patrol For Attack Waves — ( AIAttackWaveSetTargetPatrol ) - [F] —
void
— Set Target Escort For Attack Waves — ( AIAttackWaveSetTargetEscort ) - [F] —
void
— Set Target Escort For Attack Waves, No Leashing — ( AIAttackWaveSetTargetEscortNL ) - [F] —
void
— Set Target Gather Defense For Attack Waves — ( AIAttackWaveSetTargetGatherD ) - [F] —
void
— Set Target Gather Offense For Attack Waves — ( AIAttackWaveSetTargetGatherO ) - [F] —
void
— Set Target Melee For Attack Waves — ( AIAttackWaveSetTargetMelee ) - [F] —
void
— Set Target Melee Harass For Attack Waves — ( AIAttackWaveSetTargetMeleeHarass ) - [F] —
void
— Set Target Region For Attack/Defense Waves — ( AIAttackWaveSetTargetRegion ) - [F] —
void
— Add Attack Wave Unit Types (Liberty) — ( AIAttackWaveAddUnits4 ) - [F] —
void
— Add Attack Wave Unit Types (Swarm) — ( AIAttackWaveAddUnits3 ) - [F] —
void
— Set Attack Wave Keep Alive — ( AIAttackWaveSetKeepAlive ) - [F] —
void
— Set Attack Wave Gather Early No Replace — ( AIAttackWaveSetGatherEarlyNoReplace )
# Examples
# campaigns/swarm.sc2campaign
// L3649
AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor")
// L3650
AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter")
// L3651
AIAttackWaveAddUnits3(5, 5, 5, "RoachVile")
// L3652
AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler")
// L3653
AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination")
// L3654
AIAttackWaveAddUnits3(2, 2, 2, "Queen")
// L3739
AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor")
// L3740
AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter")
// L3741
AIAttackWaveAddUnits3(5, 5, 5, "RoachVile")
// L3742
AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler")
// L4157
AIAttackWaveAddUnits3(5, 5, 10, "Zergling")
// L4170
AIAttackWaveAddUnits3(8, 8, 10, "Zergling")
// L4171
AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk")
// L4172
AIAttackWaveAddUnits3(0, 0, 1, "Roach")
// L4178
AIAttackWaveAddUnits3(12, 12, 20, "Zergling")
// L4179
AIAttackWaveAddUnits3(2, 2, 4, "Roach")
// L4192
AIAttackWaveAddUnits3(8, 8, 14, "Zergling")
// L4193
AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk")
// L4241
AIAttackWaveAddUnits3(24, 24, 48, "Zergling")
// L2969
AIAttackWaveAddUnits3(4, 4, 3, "InfestedCivilian")
// L4504
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4505
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4522
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4523
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4524
AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter")
// L4537
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4538
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4539
AIAttackWaveAddUnits3(1, 1, 2, "Banshee")
// L4540
AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel")
// L4175
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4185
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4186
AIAttackWaveAddUnits3(2, 2, 3, "Stalker")
// L4191
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4192
AIAttackWaveAddUnits3(2, 2, 4, "Stalker")
// L4193
AIAttackWaveAddUnits3(1, 1, 2, "Sentry")
// L4194
AIAttackWaveAddUnits3(0, 0, 1, "Observer")
// L4198
AIAttackWaveAddUnits3(4, 4, 6, "Stalker")
// L4199
AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"))
// L4203
AIAttackWaveAddUnits3(3, 3, 4, "Archon")
// L4157
AIAttackWaveAddUnits3(5, 5, 10, "Zergling")
// L4170
AIAttackWaveAddUnits3(8, 8, 10, "Zergling")
// L4171
AIAttackWaveAddUnits3(2, 2, 3, "Hydralisk")
// L4172
AIAttackWaveAddUnits3(0, 0, 1, "Roach")
// L4178
AIAttackWaveAddUnits3(12, 12, 20, "Zergling")
// L4179
AIAttackWaveAddUnits3(2, 2, 4, "Roach")
// L4192
AIAttackWaveAddUnits3(8, 8, 14, "Zergling")
// L4193
AIAttackWaveAddUnits3(3, 3, 6, "Hydralisk")
// L4241
AIAttackWaveAddUnits3(24, 24, 48, "Zergling")
// L2969
AIAttackWaveAddUnits3(4, 4, 3, "InfestedCivilian")
// L4504
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4505
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4522
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4523
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4524
AIAttackWaveAddUnits3(3, 3, 4, "VikingFighter")
// L4537
AIAttackWaveAddUnits3(3, 3, 4, "Firebat")
// L4538
AIAttackWaveAddUnits3(1, 1, 2, "Medivac")
// L4539
AIAttackWaveAddUnits3(1, 1, 2, "Banshee")
// L4540
AIAttackWaveAddUnits3(0, 0, 1, "ScienceVessel")
// L4175
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4185
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4186
AIAttackWaveAddUnits3(2, 2, 3, "Stalker")
// L4191
AIAttackWaveAddUnits3(3, 3, 4, "Zealot")
// L4192
AIAttackWaveAddUnits3(2, 2, 4, "Stalker")
// L4193
AIAttackWaveAddUnits3(1, 1, 2, "Sentry")
// L4194
AIAttackWaveAddUnits3(0, 0, 1, "Observer")
// L4198
AIAttackWaveAddUnits3(4, 4, 6, "Stalker")
// L4199
AIAttackWaveAddUnits3(1, 1, 2, libHots_gf_DifficultyValueSwarmUnitType("Scout", "Scout", "VoidRay"))
// L4203
AIAttackWaveAddUnits3(3, 3, 4, "Archon")
// L3649
AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor")
// L3650
AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter")
// L3651
AIAttackWaveAddUnits3(5, 5, 5, "RoachVile")
// L3652
AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler")
// L3653
AIAttackWaveAddUnits3(4, 4, 4, "InfestedAbomination")
// L3654
AIAttackWaveAddUnits3(2, 2, 2, "Queen")
// L3739
AIAttackWaveAddUnits3(30, 30, 30, "HotSRaptor")
// L3740
AIAttackWaveAddUnits3(15, 15, 15, "HotSHunter")
// L3741
AIAttackWaveAddUnits3(5, 5, 5, "RoachVile")
// L3742
AIAttackWaveAddUnits3(5, 5, 5, "HydraliskImpaler")