# Elapsed AI Time
Grammar — Elapsed AI time
Flags —Native
|Function
Returns how much AI time has gone by since the start of the map.
Returns — fixed
native fixed AIGetTime();
# Related
Category: AI / MiscCampaign / Functions
- AI Time Is Paused —
bool
— AITimeIsPaused - Elapsed AI Time —
fixed
— AIGetTime - Wave Of Unit —
wave
— AIUnitGetWave - Units Of Wave —
unitgroup
— AIWaveGetUnits - Escorts Of Unit —
unitgroup
— AIGetAllEscorts - Escorts Of Unit Group —
unitgroup
— AIGetAllEscortsGroup - Units In Waves With Target —
unitgroup
— AIGetUnitsInWavesWithTarget - Unit Is Script Controlled —
bool
— AIIsScriptControlled - Unit Is Unavailable For Wave Use —
bool
— AIIsNotUsableInWaves - Unit Is Suicidal —
bool
— AIIsSuicideUnit - Difficulty Value (Integer) —
int
— libNtve_gf_DifficultyValueInt - Difficulty Value (Real) —
fixed
— libNtve_gf_DifficultyValueFixed - Difficulty Value (Unit Type) —
string
<gamelink::Unit> — libNtve_gf_DifficultyValueUnitType - Difficulty Is (one)
- Difficulty Is (two)
- Difficulty High
- Difficulty Low
- Random Spawn Point —
point
— AIRandomSpawnPoint
# Examples
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeAI.galaxy:120
// 0 - 2 minutes at 1.0
// 2 - 20 minutes ramp to 1.5
if (AIGetTime() > 1200) {
harvestBonus = 1.5;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeAI.galaxy:123
harvestBonus = 1.5;
}
else if (AIGetTime() > 120) {
// (1200 - 120) = 1080, 1080*2 = 2160 (ie at 1200 seconds this will be (1200 - 120) / 2160 = 0.5)
harvestBonus = 1.0 + ((AIGetTime() - 120) / 2160);
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeAI.galaxy:125
else if (AIGetTime() > 120) {
// (1200 - 120) = 1080, 1080*2 = 2160 (ie at 1200 seconds this will be (1200 - 120) / 2160 = 0.5)
harvestBonus = 1.0 + ((AIGetTime() - 120) / 2160);
}
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeAI.galaxy:130
else if (diff == c_skirChInsane) {
// 0 - 20 minutes ramp from 1.2 to 2.0
if (AIGetTime() > 1200) {
harvestBonus = 2.0;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeAI.galaxy:134
}
else {
harvestBonus = 1.2 + (AIGetTime() / 1500);
}
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeBuildAI.galaxy:458
//return e_buildType_Core; // force a build type for testing
if ( diff > c_skirHard && (AIGetTime() < 900 || AIHighLateGameUnderHeavyAttack(player)) ) {
// higher difficulty scripts, have a limited selection on their initial transition to late game or when under attack
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeHighAI.galaxy:137
goAttack = true;
}
if (AIGetTime() > 330) {
goAttack = true;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeHighAI.galaxy:185
return true;
}
if (AIGetTime() > 120 && AIHasHumanAlly(player)) {
return true;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeHighAI.galaxy:220
void AIEarlyDefenseScouting (int player) {
fixed time = AIGetTime();
bool enableScouting = false;
bool enableDefending = false;
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeHighAI.galaxy:435
void AIHighSetLateGameArmy (int player, int buildIndex) {
AISetUserInt(player, c_currentBuildIndex, buildIndex);
AISetUserInt(player, c_nextArmyTime, FixedToInt(AIGetTime()) + c_lateGameFrequency);
AISetMainState(player, e_mainState_Late, e_mainSubState_Build);
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeHighAI.galaxy:443
//--------------------------------------------------------------------------------------------------
bool AIHighOpponentLikelyRushing (int player) {
fixed time = AIGetTime();
fixed selfArmySize;
fixed enemyArmySize;
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:109
int waveCount;
int desiredArmyCount;
if (AIGetTime() < timeOut) {
return false;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:148
AISetFlag(player, e_flagsScouting, true);
}
else if (AIGetTime() > 300) {
AISetFlag(player, e_flagsScouting, true);
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:151
AISetFlag(player, e_flagsScouting, true);
}
else if (AIGetTime() > 40 && AIHasHumanAlly(player)) {
AISetFlag(player, e_flagsScouting, true);
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:158
// coop attacker logic
if (AIGetCoopFlag(player, c_coopWaveAttacker)) {
if (AIGetTime() > 330) {
if (AIState(player, e_attackState) == e_attackState_Wait) {
AISetAttackState(player, e_attackState_Attack);
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:328
// switching due to player request
origStartTime = origEndTime - origDuration;
origTimeElapsed = AIGetTime() - IntToFixed(origStartTime);
if (origTimeElapsed > origDuration - 1) {
origTimeElapsed = origDuration - 1;
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeLowAI.galaxy:363
} else {
// switching to next phase
newEndTime = FixedToInt(AIGetTime()) + newDuration;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:243
leaderType = UnitGetType(leader);
if ((leaderType == c_PU_Oracle) && (AILastAttack(leader) > (AIGetTime()-c_wasAttackedRecently))) {
if (state != c_waveStateRetreat) {
DebugAIPlayerWave(player, "set divert = retreat to harass point");
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:337
// Don't clear obstructions in the first 10 minutes (leaves the AI too open to being rushed)
if (AIGetTime() < 600) {
return false;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:484
}
if (AIGetNextDropTimeCheck(player) >= AIGetTime()) {
// only check drop attacks every so often
return false;
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:489
}
AISetNextDropTimeCheck(player, AIGetTime() + c_dropCheckRollFreq);
if (RandomInt(1,100) > c_dropAttackChance) {
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:499
}
AISetNextDropTimeCheck(player, AIGetTime() + c_dropCheckAttackFreq);
AISetAttackState(player, e_attackState_DropAttack);
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:517
int distEnemy;
int distFriend;
int delay = FixedToInt(AIGetTime()) + RandomInt(60, 90);
AIWaveSetType(w, c_waveStateIdle, AIWaveTargetGatherMelee(player));
mods/core.sc2mod — base.sc2data/TriggerLibs/MeleeWaveAI.galaxy:760
count = AIWaveUnitCount(w) + AIWaveUnitCount(AIWaveGet(player, c_waveMain));
if ((AIWaveGetTimeSinceRetreat(w) > 120) && (AIGetUserInt(player, c_delayNextAttack) < AIGetTime())) {
// if we're allowed to attack && we've waited at least 120 seonds after retreating, consider attacking
mods/core.sc2mod — base.sc2data/TriggerLibs/SharedAI.galaxy:28
bool suspectDanger = false;
if (AIGetTime() > dangerTime) {
// assume the enemy can make cloaked units after 10 minutes
return true;
mods/core.sc2mod — base.sc2data/TriggerLibs/SharedAI.galaxy:53
bool suspectDanger = false;
if (AIGetTime() > dangerTime) {
// assume the enemy can make air units after 10 minutes
return true;
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:837
// if we're not under attack, don't try to merge
if (AILastAttack(aiUnit) < (AIGetTime() - 4.0)) {
return false;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:1609
}
if (AILastAttack(aiUnit) < (AIGetTime() - 4.0)) {
return null;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactProtAI.galaxy:1651
}
if (AILastAttack(aiUnit) < (AIGetTime() - 3.0)) {
return null;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:267
// don't try if we've been attacked recently (taking damage interrupts it).
if (AILastAttack(aiUnit) > (AIGetTime() - 4.0)) {
return null;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:496
// Don't jump if we're not taking damage
if (AILastAttack(aiUnit) < (AIGetTime() - 3.0)) {
return null;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1146
if (!AIIsCampaign(player)) {
if (AIPlayerDifficulty(player) >= c_skirHard_VH) {
if (AIGetTime() > 900.0) {
// bunkers aren't really useful after 15 minutes into a melee game
// just salvage them if they aren't currently in use
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1571
// if we haven't been attacked recently, don't use it
if (AILastAttack(aiUnit) < (AIGetTime() - 4.0)) {
return;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1747
// Only transition liberators to ground mode one at a time, helps them spread out the targetting.
if (g_liberatorLastGround[player] > (AIGetTime() - c_liberatorMinTargetTime)) {
return;
}
mods/core.sc2mod — base.sc2data/TriggerLibs/Tactical/TactTerrAI.galaxy:1825
OrderSetTargetPoint(ord, bestPoint);
if (UnitOrderIsValid(aiUnit, ord)) {
g_liberatorLastGround[player] = AIGetTime();
AICast(aiUnit, ord, c_noMarker, c_castHold);
}
mods/core.stormmod — base.stormdata/TriggerLibs/SharedAI.galaxy:28
bool suspectDanger = false;
if (AIGetTime() > dangerTime) {
// assume the enemy can make cloaked units after 10 minutes
return true;
mods/core.stormmod — base.stormdata/TriggerLibs/SharedAI.galaxy:53
bool suspectDanger = false;
if (AIGetTime() > dangerTime) {
// assume the enemy can make air units after 10 minutes
return true;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:170
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 7) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:225
AISetAttackStatus(player, c_PU_Zealot, 1, 1, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PU_Zealot, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:273
AISetAttackStatus(player, c_PU_Zealot, 1, 999, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Gateway, c_techCountInProgressOrBetter) < 1) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:342
}
if (AIGetTime() < 510) {
if (AITechCount(player, c_PB_Assimilator, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:409
}
if (AIGetTime() < 480) {
if (AITechCount(player, c_PU_Stalker, c_techCountCompleteOnly) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:477
AISetAttackStatus(player, c_PU_Stalker, 1, 8, c_continuousMerge);
if (AIGetTime() < 510) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 11) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:537
AISetAttackStatus(player, c_PU_DarkTemplar, 1, 3, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_PU_DarkTemplar, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:584
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 270) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:645
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossChIn.galaxy:713
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 390) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:170
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 7) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:225
AISetAttackStatus(player, c_PU_Zealot, 1, 1, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PU_Zealot, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:273
AISetAttackStatus(player, c_PU_Zealot, 1, 999, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Gateway, c_techCountInProgressOrBetter) < 1) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:342
}
if (AIGetTime() < 510) {
if (AITechCount(player, c_PB_Assimilator, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:409
}
if (AIGetTime() < 480) {
if (AITechCount(player, c_PU_Stalker, c_techCountCompleteOnly) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:477
AISetAttackStatus(player, c_PU_Stalker, 1, 8, c_continuousMerge);
if (AIGetTime() < 510) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 11) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:537
AISetAttackStatus(player, c_PU_DarkTemplar, 1, 3, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_PU_DarkTemplar, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:584
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 270) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:645
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHdVH.galaxy:713
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 390) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:771
pickNewArmy = true;
}
else if (newArmyTime < FixedToInt(AIGetTime()) && !AIHighCurrentlyUnderHeavyAttack(player)) {
// been using the previous army a while and not currently under attack, switch to a new one
pickNewArmy = true;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:815
AISetAttackState(player, e_attackState_Idle);
delay = FixedToInt(AIGetTime()) + RandomInt(300, 420);
AISetUserInt(player, c_delayNextAttack, delay);
}
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossHigh.galaxy:970
//--------------------------------------------------------------------------------------------------
void ProtossHDEmergencyDetectionAntiAir (int player) {
if (AIGetTime() < 300) {
return; // don't worry about anti-air or detection prior to 5 minutes (even if the player requests it)
}
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:203
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 7) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:258
AISetAttackStatus(player, c_PU_Zealot, 1, 1, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PU_Zealot, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:306
AISetAttackStatus(player, c_PU_Zealot, 1, 999, c_continuousMerge);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Gateway, c_techCountInProgressOrBetter) < 1) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:375
}
if (AIGetTime() < 510) {
if (AITechCount(player, c_PB_Assimilator, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:442
}
if (AIGetTime() < 480) {
if (AITechCount(player, c_PU_Stalker, c_techCountCompleteOnly) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:510
AISetAttackStatus(player, c_PU_Stalker, 1, 8, c_continuousMerge);
if (AIGetTime() < 510) {
if (AITechCount(player, c_PU_Stalker, c_techCountInProgressOrBetter) < 11) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:570
AISetAttackStatus(player, c_PU_DarkTemplar, 1, 3, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_PU_DarkTemplar, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:617
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 270) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:678
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 300) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Protoss/ProtossVyHd.galaxy:746
AIScoutingEnableWithPreReq(player, 18, c_PU_Probe, 1, c_PB_Gateway, c_techCountCompleteOnly);
if (AIGetTime() < 390) {
if (AITechCount(player, c_PB_Nexus, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:151
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:222
AISetAttackStatus(player, c_TU_Reaper, 1, 3, c_continuousMerge);
if (AIGetTime() < 390) {
if (AITechCount(player, c_TU_Reaper, c_techCountCompleteOnly) < 4) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:266
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:340
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_TU_Marauder, c_techCountInProgressOrBetter) < 6) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:415
AISetAttackStatus(player, c_TU_Hellion, 1, 4, c_continuousMerge);
if (AIGetTime() < 440) {
if (AITechCount(player, c_TU_Hellion, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:492
AISetAttackStatus(player, c_TU_SiegeTank, 1, 2, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_TU_SiegeTank, c_techCountInProgressOrBetter) < 3) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:556
AIScoutingEnableWithPreReq(player, 16, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 510) {
if (AITechCount(player, c_TU_Banshee, c_techCountInProgressOrBetter) < 6) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:604
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 270) {
if (AITechCount(player, c_TB_CommandCenter_Alias, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:656
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 300) {
if (AITechCount(player, c_TB_CommandCenter_Alias, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranChIn.galaxy:723
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 360) {
if (AITechCount(player, c_TR_SiegeTankSiege, c_techCountInProgressOrBetter) < 1) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:151
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:222
AISetAttackStatus(player, c_TU_Reaper, 1, 3, c_continuousMerge);
if (AIGetTime() < 390) {
if (AITechCount(player, c_TU_Reaper, c_techCountCompleteOnly) < 4) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:266
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:340
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_TU_Marauder, c_techCountInProgressOrBetter) < 6) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:415
AISetAttackStatus(player, c_TU_Hellion, 1, 4, c_continuousMerge);
if (AIGetTime() < 440) {
if (AITechCount(player, c_TU_Hellion, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:492
AISetAttackStatus(player, c_TU_SiegeTank, 1, 2, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_TU_SiegeTank, c_techCountInProgressOrBetter) < 3) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:556
AIScoutingEnableWithPreReq(player, 16, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 510) {
if (AITechCount(player, c_TU_Banshee, c_techCountInProgressOrBetter) < 6) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:604
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 270) {
if (AITechCount(player, c_TB_CommandCenter_Alias, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:656
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 300) {
if (AITechCount(player, c_TB_CommandCenter_Alias, c_techCountInProgressOrBetter) < 2) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHdVH.galaxy:723
AIScoutingEnableWithPreReq(player, 18, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 360) {
if (AITechCount(player, c_TR_SiegeTankSiege, c_techCountInProgressOrBetter) < 1) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHigh.galaxy:803
pickNewArmy = true;
}
else if (newArmyTime < FixedToInt(AIGetTime()) && !AIHighCurrentlyUnderHeavyAttack(player)) {
// been using the previous army a while and not currently under attack, switch to a new one
pickNewArmy = true;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHigh.galaxy:847
AISetAttackState(player, e_attackState_Idle);
delay = FixedToInt(AIGetTime()) + RandomInt(300, 420);
AISetUserInt(player, c_delayNextAttack, delay);
}
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranHigh.galaxy:1056
//--------------------------------------------------------------------------------------------------
void TerranHDEmergencyDetectionAntiAir (int player) {
if (AIGetTime() < 300) {
return; // don't worry about anti-air or detection prior to 5 minutes (even if the player requests it)
}
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:186
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:257
AISetAttackStatus(player, c_TU_Reaper, 1, 3, c_continuousMerge);
if (AIGetTime() < 390) {
if (AITechCount(player, c_TU_Reaper, c_techCountCompleteOnly) < 4) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:301
AISetAttackStatus(player, c_TU_Marine, 2, 9, c_continuousMerge);
if (AIGetTime() < 300) {
if ( (AITechCount(player, c_TU_Marine, c_techCountCompleteOnly) < 9) ||
(AITechCount(player, c_TU_Marine, c_techCountInProgressOrBetter) < 12) ) {
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:375
}
if (AIGetTime() < 450) {
if (AITechCount(player, c_TU_Marauder, c_techCountInProgressOrBetter) < 6) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:450
AISetAttackStatus(player, c_TU_Hellion, 1, 4, c_continuousMerge);
if (AIGetTime() < 440) {
if (AITechCount(player, c_TU_Hellion, c_techCountInProgressOrBetter) < 5) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:527
AISetAttackStatus(player, c_TU_SiegeTank, 1, 2, c_continuousMerge);
if (AIGetTime() < 420) {
if (AITechCount(player, c_TU_SiegeTank, c_techCountInProgressOrBetter) < 3) {
return false;
mods/liberty.sc2mod — base.sc2data/TriggerLibs/Terran/TerranVyHd.galaxy:591
AIScoutingEnableWithPreReq(player, 16, c_TU_SCV, 1, c_TB_Barracks, c_techCountCompleteOnly);
if (AIGetTime() < 510) {
if (AITechCount(player, c_TU_Banshee, c_techCountInProgressOrBetter) < 6) {
return false;