# Wave Time Since Combat

Grammar — How long since the specified wave waveRef has been in combat
FlagsNative | Function

Returns how long since the specified wave has been in combat.

# Arguments

  • wave — Wave

Returns — int

native int AIWaveGetTimeSinceCombat(wave w);

Category: AI Advanced / Waves / Functions

# Examples

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:62

        ", ratio="      + IntToString(AIWaveEvalRatio(w, c_evalRange))  +
        ", combat="     + IntToString(AIWaveGetTimeInCombat(w))         +
        ", safe="       + IntToString(AIWaveGetTimeSinceCombat(w))      +
        ", threat="     + threat
    );

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:544

        }
    }
    else if (AIWaveGetTimeSinceCombat(w) < 30) {
        // recently in combat
        if ((distEnemy >= 0 )&& (distEnemy * 6 < distFriend * 4)) {

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:579

            AISetAttackState(player, e_attackState_Attack);
        }
        else if (count >= 15 && AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 150) {
            AISetAttackState(player, e_attackState_Attack);
        }

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:589

            AISetAttackState(player, e_attackState_Attack);
        }
        else if (count >= 20 && AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 300 - 4*count) {
            AISetAttackState(player, e_attackState_Attack);
        }

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:596

        // if the last attack was a failure (we either retreated right away or lost more then we killed)

        if (AIWaveGetTimeSinceCombat(w) >= 60) {
            if (count >= 8 && count < 12) {
                if (WaveTestUseDropAttack(player,w)) {

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:779

                    AISetAttackState(player, e_attackState_Attack);
                }
                else if (AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 600 - 2*count) {
                    AISetAttackState(player, e_attackState_Attack);
                }

mods/warcoop/warmeleeai.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:192

        ", ratio="      + IntToString(AIWaveEvalRatio(w, c_evalRange))  +
        ", combat="     + IntToString(AIWaveGetTimeInCombat(w))         +
        ", safe="       + IntToString(AIWaveGetTimeSinceCombat(w))      +
        ", threat="     + threat
    );

mods/warcoop/warmeleeai.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:634

        }
    }
    else if (AIWaveGetTimeSinceCombat(w) < 30) {
        // recently in combat
        if ((distEnemy >= 0 )&& (distEnemy * 6 < distFriend * 4)) {

mods/warcoop/warmeleeai.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:668

            AISetAttackState(player, e_attackState_Attack);
        }
        else if (count >= 10 && AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 120) {
            AISetAttackState(player, e_attackState_Attack);
        }

mods/warcoop/warmeleeai.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:678

            AISetAttackState(player, e_attackState_Attack);
        }
        else if (count >= 15 && AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 300 - 5*count) {
            AISetAttackState(player, e_attackState_Attack);
        }

mods/warcoop/warmeleeai.sc2modbase.sc2data/TriggerLibs/MeleeWaveAI.galaxy:875

                    AISetAttackState(player, e_attackState_Attack);
                } 
                else if (AIGetFlag(player, e_flagsTimeout) && AIWaveGetTimeSinceCombat(w) >= 300-10*count) {
                    AISetAttackState(player, e_attackState_Attack);
                }