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;
}