# Send Attack Wave
Grammar — Send the attack wave from player player to attack in time seconds and wait|Wait/Don’t Wait
Flags —Native
|Action
Sends an attack wave for a player after the specified number of seconds has elapsed. If Wait is used, then the script will wait for the wave to be sent before continuing execution.
# Arguments
int
— Attackerint
— Timebool
[ preset::Trigger_Wait_Option ] — WaitOption
Returns — void
native int AIAttackWaveSend(
int player,
int time,
bool wait,
);
# 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/liberty.sc2campaign
// L1058
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1078
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1098
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1227
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1253
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 0, true)
// L1255
AIAttackWaveSend(gv_pLAYER_COMPUTER2, 0, true)
// L1278
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1413
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1434
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1460
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 0, true)
// L221
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 0, false)
// L901
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 0, true)
// L724
AIAttackWaveSend(gv_pLAYER_ENEMY, 0, true)
// L731
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L736
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L743
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L752
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L761
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L770
AIAttackWaveSend(gv_pLAYER_ENEMY, 10, true)
// L564
AIAttackWaveSend(gv_p2_ENEMY_ZERG, 0, false)
// L568
AIAttackWaveSend(gv_p2_ENEMY_ZERG, 0, false)
// L572
AIAttackWaveSend(gv_p2_ENEMY_ZERG, 0, false)
// L576
AIAttackWaveSend(gv_p2_ENEMY_ZERG, 0, false)
// L580
AIAttackWaveSend(gv_p2_ENEMY_ZERG, 0, false)
// L927
AIAttackWaveSend(gv_p3_ENEMY_PROTOSS, 0, false)
// L1008
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1029
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1049
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1176
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1196
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1216
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1347
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1368
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1388
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L396
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 0, false)
// L1076
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1096
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1116
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1246
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1266
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1286
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L1419
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1438
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, true)
// L1457
AIAttackWaveSend(gv_pLAYER_COMPUTER1, 3, false)
// L413
AIAttackWaveSend(lp_player, 0, false)
// L454
AIAttackWaveSend(gv_p2_ZERG_ORANGE_NW, 0, false)
// L2272
AIAttackWaveSend(gv_p4_COLONISTS, 0, false)
// L3048
AIAttackWaveSend(gv_p2_ZERG_ORANGE_NW, 0, false)
// L3081
AIAttackWaveSend(gv_p2_ZERG_ORANGE_NW, 0, false)
// L3085
AIAttackWaveSend(gv_p2_ZERG_ORANGE_NW, 0, false)
// L3090
AIAttackWaveSend(gv_p3_ZERG_LIGHTBLUE_SE, 0, false)
// L3094
AIAttackWaveSend(gv_p3_ZERG_LIGHTBLUE_SE, 0, false)
// L3097
AIAttackWaveSend(gv_p3_ZERG_LIGHTBLUE_SE, 0, false)
// L3102
AIAttackWaveSend(gv_p2_ZERG_ORANGE_NW, 0, false)
// L432
AIAttackWaveSend(gv_pLAYER_03_INFESTED_REFUGEES, lp_delay, lp_waitOption)
// L426
AIAttackWaveSend(gv_currentWaveAttacker, lp_duration, false)
// L3192
AIAttackWaveSend(gv_p04_ZERG_NORTH, 120, true)
// L3196
AIAttackWaveSend(gv_p08_ZERG_SOUTH, 100, true)
// L3202
AIAttackWaveSend(gv_p08_ZERG_SOUTH, 120, true)
// L3207
AIAttackWaveSend(gv_p02_ZERG_EAST, 120, true)
// L3214
AIAttackWaveSend(gv_p04_ZERG_NORTH, 120, true)
// L3219
AIAttackWaveSend(gv_p08_ZERG_SOUTH, 120, true)
// L3225
AIAttackWaveSend(gv_p04_ZERG_NORTH, 120, true)
// L3232
AIAttackWaveSend(gv_p08_ZERG_SOUTH, 120, true)
// L3237
AIAttackWaveSend(gv_p04_ZERG_NORTH, 120, true)
// L3243
AIAttackWaveSend(gv_p02_ZERG_EAST, 120, true)
// L2093
AIAttackWaveSend(lv_escortPlayer, 0, false)
// L4319
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), false)
// L4335
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), false)
// L4348
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), false)
// L4362
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), false)
// L4374
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), true)
// L4381
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), true)
// L4389
AIAttackWaveSend(gv_pLAYER_02_DOMINION, (FixedToInt(gv_trainWaveWait) * 2), true)
// L4432
AIAttackWaveSend(gv_pLAYER_03_DOMINION, 150, false)
// L4442
AIAttackWaveSend(gv_pLAYER_03_DOMINION, 150, false)
// L3426
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3431
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3436
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3454
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3471
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3489
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3495
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3503
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3508
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L3513
AIAttackWaveSend(gv_p02_ORLAN_ENEMY, 120, true)
// L1414
AIAttackWaveSend(gv_p02_TYCHUS, 1, false)
// L1681
AIAttackWaveSend(gv_p02_TYCHUS, 1, false)
// L2066
AIAttackWaveSend(gv_p04_DOMINION_INFANTRY_A, 70, true)
// L2070
AIAttackWaveSend(gv_p04_DOMINION_INFANTRY_A, 30, true)
// L2106
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 0, false)
// L2110
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 55, false)
// L2198
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 40, false)
// L2308
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 30, true)
// L2313
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 30, true)
// L2318
AIAttackWaveSend(gv_p08_DOMINION_INFANTRY_B, 30, true)
// L3758
AIAttackWaveSend(gv_p08_DOMINION, 0, false)
// L3856
AIAttackWaveSend(gv_p08_DOMINION, 0, false)
// L4002
AIAttackWaveSend(gv_p08_DOMINION, 0, false)
// L4182
AIAttackWaveSend(gv_p05_DOMINION_RAIDER, gv_wavePrepTime, false)