void CAI_MoveAndShootOverlay::StartShootWhileMove() { if ( GetOuter()->GetState() == NPC_STATE_SCRIPT || !HasAvailableRangeAttack() || !GetOuter()->HaveSequenceForActivity( GetOuter()->TranslateActivity( ACT_WALK_AIM ) ) || !GetOuter()->HaveSequenceForActivity( GetOuter()->TranslateActivity( ACT_RUN_AIM ) ) ) { NoShootWhileMove(); return; } GetOuter()->GetShotRegulator()->FireNoEarlierThan( gpGlobals->curtime + m_initialDelay ); m_bNoShootWhileMove = false; }
void CAI_MoveAndShootOverlay::StartShootWhileMove( float minPause, float maxPause ) { if ( GetOuter()->GetState() == NPC_STATE_SCRIPT || !GetOuter()->GetActiveWeapon() || !GetOuter()->HaveSequenceForActivity( GetOuter()->TranslateActivity( ACT_WALK_AIM ) ) || !GetOuter()->HaveSequenceForActivity( GetOuter()->TranslateActivity( ACT_RUN_AIM ) ) ) { NoShootWhileMove(); return; } m_minBurst = GetOuter()->GetActiveWeapon()->GetMinBurst(); m_maxBurst = GetOuter()->GetActiveWeapon()->GetMaxBurst(); m_minPause = minPause; m_maxPause = maxPause; m_nMoveShots = GetOuter()->GetActiveWeapon()->GetRandomBurst(); m_flNextMoveShootTime = 0; }