//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- bool CTFHunterRifle::CanHolster( void ) const { CTFPlayer *pPlayer = GetTFPlayerOwner(); if ( pPlayer ) { // don't allow us to holster this weapon if we're in the process of zooming and // we've just fired the weapon (next primary attack is only 1.5 seconds after firing) if ( ( pPlayer->GetFOV() < pPlayer->GetDefaultFOV() ) && ( m_flNextPrimaryAttack > gpGlobals->curtime ) ) { return false; } } return BaseClass::CanHolster(); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- bool CTFHunterRifle::CanFireCriticalShot( bool bIsHeadshot ) { // can only fire a crit shot if this is a headshot if ( !bIsHeadshot ) return false; CTFPlayer *pPlayer = GetTFPlayerOwner(); if ( pPlayer ) { // no crits if they're not zoomed if ( pPlayer->GetFOV() >= pPlayer->GetDefaultFOV() ) { return false; } // no crits for 0.2 seconds after starting to zoom if ( ( gpGlobals->curtime - pPlayer->GetFOVTime() ) < TF_WEAPON_HUNTERRIFLE_NO_CRIT_AFTER_ZOOM_TIME ) { return false; } } return true; }