void CWeaponUSP::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( m_bSilencerOn ) { if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) USPFire( (1.3) * (1 - m_flAccuracy), 0.225, false ); else if (pPlayer->GetAbsVelocity().Length2D() > 0) USPFire( (0.25) * (1 - m_flAccuracy), 0.225, false ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) USPFire( (0.125) * (1 - m_flAccuracy), 0.225, false ); else USPFire( (0.15) * (1 - m_flAccuracy), 0.225, false ); } else { if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) USPFire( (1.2) * (1 - m_flAccuracy), 0.225, false ); else if (pPlayer->GetAbsVelocity().Length2D() > 0) USPFire( (0.225) * (1 - m_flAccuracy), 0.225, false ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) USPFire( (0.08) * (1 - m_flAccuracy), 0.225, false ); else USPFire( (0.1) * (1 - m_flAccuracy), 0.225, false ); } }
void CWeaponUSP::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) return; if ( m_bSilencerOn ) { if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) USPFire( 1.3f * (1 - m_flAccuracy) ); else if (pPlayer->GetAbsVelocity().Length2D() > 5) USPFire( 0.25f * (1 - m_flAccuracy) ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) USPFire( 0.125f * (1 - m_flAccuracy) ); else USPFire( 0.15f * (1 - m_flAccuracy) ); } else { if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) USPFire( 1.2f * (1 - m_flAccuracy ) ); else if (pPlayer->GetAbsVelocity().Length2D() > 5) USPFire( 0.225f * (1 - m_flAccuracy) ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) USPFire( 0.08f * (1 - m_flAccuracy) ); else USPFire( 0.1f * (1 - m_flAccuracy) ); } }
void CAK47::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) Error( "CAK47::PrimaryAttack - !pPlayer" ); if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) AK47Fire( 0.04 + (0.4) * m_flAccuracy, 0.0955 ); else if (pPlayer->GetAbsVelocity().Length2D() > 140) AK47Fire( 0.04 + (0.07) * m_flAccuracy, 0.0955 ); else AK47Fire( (0.0275) * m_flAccuracy, 0.0955 ); }
void CAK47::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) return; if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) AK47Fire( 0.04f + 0.4f * m_flAccuracy ); else if (pPlayer->GetAbsVelocity().Length2D() > 140) AK47Fire( 0.04f + 0.07f * m_flAccuracy ); else AK47Fire( 0.0275f * m_flAccuracy ); }
void CWeaponSG552::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) SG552Fire( 0.035 + (0.45) * (m_flAccuracy), 0.0825 ); else if (pPlayer->GetAbsVelocity().Length2D() > 140) SG552Fire( 0.035 + (0.075) * (m_flAccuracy), 0.0825 ); else if (pPlayer->GetFOV() == 90) SG552Fire( (0.02) * (m_flAccuracy), 0.0825 ); else SG552Fire( (0.02) * (m_flAccuracy), 0.135 ); }
void CWeaponM4A1::M4A1Fire( float flSpread, float flCycleTime ) { if ( !CSBaseGunFire( flSpread, flCycleTime ) ) return; CCSPlayer *pPlayer = GetPlayerOwner(); if (pPlayer->GetAbsVelocity().Length2D() > 0) KickBack (1.0, 0.45, 0.28, 0.045, 3.75, 3, 7); else if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) KickBack (1.2, 0.5, 0.23, 0.15, 5.5, 3.5, 6); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) KickBack (0.6, 0.3, 0.2, 0.0125, 3.25, 2, 7); else KickBack (0.65, 0.35, 0.25, 0.015, 3.5, 2.25, 7); }
void CWeaponSG552::SG552Fire( float flSpread, float flCycleTime ) { if ( !CSBaseGunFire( flSpread, flCycleTime ) ) return; CCSPlayer *pPlayer = GetPlayerOwner(); if (pPlayer->GetAbsVelocity().Length2D() > 0) KickBack (1, 0.45, 0.28, 0.04, 4.25, 2.5, 7); else if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) KickBack (1.25, 0.45, 0.22, 0.18, 6, 4, 5); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) KickBack (0.6, 0.35, 0.2, 0.0125, 3.7, 2, 10); else KickBack (0.625, 0.375, 0.25, 0.0125, 4, 2.25, 9); }
void CAK47::AK47Fire( float flSpread, float flCycleTime ) { if ( !CSBaseGunFire( flSpread, flCycleTime ) ) return; CCSPlayer *pPlayer = GetPlayerOwner(); if (pPlayer->GetAbsVelocity().Length2D() > 0 ) KickBack ( 1.5, 0.45, 0.225, 0.05, 6.5, 2.5, 7 ); else if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) KickBack ( 2, 1.0, 0.5, 0.35, 9, 6, 5 ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) KickBack ( 0.9, 0.35, 0.15, 0.025, 5.5, 1.5, 9 ); else KickBack ( 1, 0.375, 0.175, 0.0375, 5.75, 1.75, 8 ); }
void CDEagle::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) DEAGLEFire( (1.5) * (1 - m_flAccuracy), 0.3, false ); else if (pPlayer->GetAbsVelocity().Length2D() > 0) DEAGLEFire( (0.25) * (1 - m_flAccuracy), 0.3, false ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) DEAGLEFire( (0.115) * (1 - m_flAccuracy), 0.3, false ); else DEAGLEFire( (0.13) * (1 - m_flAccuracy), 0.3, false ); }
void CWeaponG3SG1::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) G3SG1Fire( (0.45) * (1 - m_flAccuracy), 0.25, false ); else if (pPlayer->GetAbsVelocity().Length2D() > 0) G3SG1Fire( 0.15, 0.25, false ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) G3SG1Fire( (0.035) * (1 - m_flAccuracy), 0.25, false ); else G3SG1Fire( (0.055) * (1 - m_flAccuracy), 0.25, false ); }
void CWeaponElite::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) return; if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) ELITEFire( 1.3f * (1 - m_flAccuracy) ); else if (pPlayer->GetAbsVelocity().Length2D() > 5) ELITEFire( 0.175f * (1 - m_flAccuracy) ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) ELITEFire( 0.08f * (1 - m_flAccuracy) ); else ELITEFire( 0.1f * (1 - m_flAccuracy)); }
void CWeaponScout::PrimaryAttack( void ) { CCSPlayer *pPlayer = GetPlayerOwner(); if (pPlayer == NULL) { Assert(pPlayer != NULL); return; } if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) SCOUTFire( 0.2 ); else if (pPlayer->GetAbsVelocity().Length2D() > 170) SCOUTFire( 0.075 ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) SCOUTFire( 0.0 ); else SCOUTFire( 0.007 ); }
void CAK47::AK47Fire( float flSpread ) { if ( !CSBaseGunFire( flSpread, GetCSWpnData().m_flCycleTime, true ) ) return; CCSPlayer *pPlayer = GetPlayerOwner(); // CSBaseGunFire can kill us, forcing us to drop our weapon, if we shoot something that explodes if ( !pPlayer ) return; if (pPlayer->GetAbsVelocity().Length2D() > 5 ) pPlayer->KickBack ( 1.5, 0.45, 0.225, 0.05, 6.5, 2.5, 7 ); else if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) pPlayer->KickBack ( 2, 1.0, 0.5, 0.35, 9, 6, 5 ); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) pPlayer->KickBack ( 0.9, 0.35, 0.15, 0.025, 5.5, 1.5, 9 ); else pPlayer->KickBack ( 1, 0.375, 0.175, 0.0375, 5.75, 1.75, 8 ); }
void CWeaponGalil::GalilFire( float flSpread ) { if ( !CSBaseGunFire( flSpread, GetCSWpnData().m_flCycleTime, true ) ) return; CCSPlayer *pPlayer = GetPlayerOwner(); // CSBaseGunFire can kill us, forcing us to drop our weapon, if we shoot something that explodes if ( !pPlayer ) return; if (pPlayer->GetAbsVelocity().Length2D() > 5) pPlayer->KickBack (1.0, 0.45, 0.28, 0.045, 3.75, 3, 7); else if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) pPlayer->KickBack (1.2, 0.5, 0.23, 0.15, 5.5, 3.5, 6); else if ( FBitSet( pPlayer->GetFlags(), FL_DUCKING ) ) pPlayer->KickBack (0.6, 0.3, 0.2, 0.0125, 3.25, 2, 7); else pPlayer->KickBack (0.65, 0.35, 0.25, 0.015, 3.5, 2.25, 7); }
void CWeaponM4A1::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) { M4A1Fire( 0.035 + (0.4) * (m_flAccuracy), 0.0875 ); } else if (pPlayer->GetAbsVelocity().Length2D() > 140) { M4A1Fire( 0.035 + (0.07) * (m_flAccuracy), 0.0875 ); } else { if ( m_bSilencerOn ) M4A1Fire( (0.025) * (m_flAccuracy), 0.0875 ); else M4A1Fire( (0.02) * (m_flAccuracy), 0.0875 ); } }
void CWeaponGalil::PrimaryAttack() { CCSPlayer *pPlayer = GetPlayerOwner(); if ( !pPlayer ) return; // don't fire underwater if (pPlayer->GetWaterLevel() == 3) { PlayEmptySound( ); m_flNextPrimaryAttack = gpGlobals->curtime + 0.15; return; } if ( !FBitSet( pPlayer->GetFlags(), FL_ONGROUND ) ) GalilFire( 0.04f + 0.3f * m_flAccuracy ); else if (pPlayer->GetAbsVelocity().Length2D() > 140) GalilFire( 0.04f + 0.07f * m_flAccuracy ); else GalilFire( 0.0375f * m_flAccuracy ); }