int CASW_Weapon::WeaponRangeAttack1Condition( float flDot, float flDist ) { if (!IsOffensiveWeapon()) return COND_NO_WEAPON; // make sure the AI doesn't try to attack with this if ( UsesPrimaryAmmo() && !HasPrimaryAmmo() ) { return COND_NO_PRIMARY_AMMO; } else if ( flDist < m_fMinRange1) { return COND_TOO_CLOSE_TO_ATTACK; } else if (flDist > m_fMaxRange1) { return COND_TOO_FAR_TO_ATTACK; } return COND_CAN_RANGE_ATTACK1; }
//----------------------------------------------------------------------------- // Purpose: Base class always returns not bits //----------------------------------------------------------------------------- int CBaseCombatWeapon::WeaponRangeAttack1Condition( float flDot, float flDist ) { if ( UsesPrimaryAmmo() && !HasPrimaryAmmo() ) { return COND_NO_PRIMARY_AMMO; } else if ( flDist < m_fMinRange1) { return COND_TOO_CLOSE_TO_ATTACK; } else if (flDist > m_fMaxRange1) { return COND_TOO_FAR_TO_ATTACK; } else if (flDot < 0.5) // UNDONE: Why check this here? Isn't the AI checking this already? { return COND_NOT_FACING_ATTACK; } return COND_CAN_RANGE_ATTACK1; }