# Wave Target Gather Defense
Grammar — Create a new wave target set to gather at the defensive gather point of town town for player player
Flags —Native
|Function
Creates a new wave target set to gather at the defensive gather point of the specified town. Returns the wave target.
# Arguments
int
— Playerint
— Town
Returns — wavetarget
native wavetarget AIWaveTargetGatherD(
int player,
int town,
);
# Related
Category: AI Advanced / Waves / Functions
- Create Wave Info —
waveinfo
— AIWaveInfoCreate - Create Wave Info From Wave —
waveinfo
— AIWaveInfo - Create Wave —
wave
— AIWaveCreate - Wave Unit Count —
int
— AIWaveUnitCount - Wave State —
int
— AIWaveState - Wave Target Unit —
wavetarget
— AIWaveTargetUnit - Wave Target UnitGroup —
wavetarget
— AIWaveTargetUnitGroup - Wave Target Unit Point —
wavetarget
— AIWaveTargetUnitPoint - Wave Target Point —
wavetarget
— AIWaveTargetPoint - Wave Target Player —
wavetarget
— AIWaveTargetPlayer - Wave Target Melee —
wavetarget
— AIWaveTargetMelee - Wave Target Melee Harass —
wavetarget
— AIWaveTargetMeleeHarass - Wave Target Merge —
wavetarget
— AIWaveTargetMerge - Wave Target Patrol —
wavetarget
— AIWaveTargetPatrol - Wave Target Escort —
wavetarget
— AIWaveTargetEscort - Wave Target Escort No Leash —
wavetarget
— AIWaveTargetEscortNL - Wave Target Gather Offense —
wavetarget
— AIWaveTargetGatherO - Wave Target Gather Defense —
wavetarget
— AIWaveTargetGatherD - Wave Target Harass Retreat —
wavetarget
— AIWaveHarassRetreat - Wave Target Region —
wavetarget
— AIWaveTargetRegion - Wave Get Target —
wavetarget
— AIWaveGetTarget - Is Wave In Combat —
bool
— AIWaveIsInCombat - Wave Time In Combat —
int
— AIWaveGetTimeInCombat - Wave Time Since Combat —
int
— AIWaveGetTimeSinceCombat - Wave Time Since Ordered —
int
— AIWaveGetTimeSinceOrdered - Wave Eval —
int
— AIWaveEval - Wave Eval Ratio —
int
— AIWaveEvalRatio - Eval Ratio —
int
— AIEvalRatio - Wave Get —
wave
— AIWaveGet - Wave Type —
int
— AIWaveType - Get Best Attack Target Point —
point
— AIGetBestTarget - Wave To String —
string
— AIWaveToString - Wave To Text —
text
— AIWaveToText
# Examples
mods/core.sc2mod — base.sc2data/TriggerLibs/BaseAI.galaxy:168
targDPoint = AIWaveTargetGatherDPoint(player, c_townMain);
targOPoint = AIWaveTargetGatherOPoint(player, c_townMain);
targD = AIWaveTargetGatherD(player, c_townMain);
targO = AIWaveTargetGatherMelee(player);
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:85
if (AIWaveState(w) != c_waveStateRetreat) {
DebugAIPlayerWave(player, "self defend1 set wave = retreat to gather defense");
AIWaveSetType(w, c_waveStateRetreat, AIWaveTargetGatherD(player, c_townMain));
}
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:108
if (AIWaveState(w) != c_waveStateRetreat) {
DebugAIPlayerWave(player, "ally defend1 set wave = retreat to gather defense");
AIWaveSetType(w, c_waveStateRetreat, AIWaveTargetGatherD(player, c_townMain));
}
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:221
if (state == c_waveStateDefend || state == c_waveStateBeacon) {
DebugAIPlayerWave(player, "return to divert control from defend/beacon");
AIWaveSetType(w, c_waveStateIdle, AIWaveTargetGatherD(player, c_townMain));
return;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:272
if (state != c_waveStateGuardHome) {
DebugAIPlayerWave(player, "home set divert = idle at gather defense");
AIWaveSetType(w, c_waveStateGuardHome, AIWaveTargetGatherD(player, c_townMain));
return;
}
mods/starcoop/starcoop.sc2mod — base.sc2data/TriggerLibs/BaseAI.galaxy:203
targDPoint = AIWaveTargetGatherDPoint(player, c_townMain);
targOPoint = AIWaveTargetGatherOPoint(player, c_townMain);
targD = AIWaveTargetGatherD(player, c_townMain);
targO = AIWaveTargetGatherMelee(player);
mods/warcoop/warmeleeai.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:215
if (AIWaveState(w) != c_waveStateRetreat) {
DebugAIPlayerWave(player, "defend1 set wave = retreat to gather defense");
AIWaveSetType(w, c_waveStateRetreat, AIWaveTargetGatherD(player, c_townMain));
}
}
mods/warcoop/warmeleeai.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:242
else if (AIWaveState(w) != c_waveStateIdle) {
DebugAIPlayerWave(player, "defend3 set defend = idle at gather defense");
AIWaveSetType(w, c_waveStateIdle, AIWaveTargetGatherD(player, c_townMain));
}
}
mods/warcoop/warmeleeai.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:310
if (state == c_waveStateDefend || state == c_waveStateBeacon) {
DebugAIPlayerWave(player, "return to divert control from defend/beacon");
AIWaveSetType(w, c_waveStateIdle, AIWaveTargetGatherD(player, c_townMain));
return;
}
mods/warcoop/warmeleeai.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:361
if (state != c_waveStateGuardHome) {
DebugAIPlayerWave(player, "home set divert = idle at gather defense");
AIWaveSetType(w, c_waveStateGuardHome, AIWaveTargetGatherD(player, c_townMain));
return;
}