void CFamas::PrimaryAttack() { if( m_pPlayer->pev->waterlevel == 3 ) { PlayEmptySound(); m_flNextPrimaryAttack = gpGlobals->time + 0.15; return; } BOOL burstMode = FBitSet( m_fWeaponState, WEAPONSTATE_FAMAS_BURST_MODE ); if( !FBitSet( m_pPlayer->pev->flags, FL_ONGROUND ) ) { FamasFire( m_flAccuracy * 0.3 + 0.03, 0.0825, FALSE, burstMode ); } else if( m_pPlayer->pev->velocity.Length2D() > 140 ) { FamasFire( m_flAccuracy * 0.07 + 0.030, 0.0825, FALSE, burstMode ); } else { FamasFire( m_flAccuracy * 0.02, 0.0825, FALSE, burstMode ); } }
void CWeaponFamas::PrimaryAttack() { CMomentumPlayer *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)) // if player is in air FamasFire(0.03f + 0.3f * m_flAccuracy, m_bBurstMode); else if (pPlayer->GetAbsVelocity().Length2D() > 140) // if player is moving FamasFire(0.03f + 0.07f * m_flAccuracy, m_bBurstMode); /* new code */ else FamasFire(0.02f * m_flAccuracy, m_bBurstMode); }
void CFamas::__MAKE_VHOOK(PrimaryAttack)() { if (m_pPlayer->pev->waterlevel == 3) { PlayEmptySound(); m_flNextPrimaryAttack = GetNextAttackDelay(0.15); return; } bool bFireBurst = (m_iWeaponState & WPNSTATE_FAMAS_BURST_MODE) == WPNSTATE_FAMAS_BURST_MODE; if (!(m_pPlayer->pev->flags & FL_ONGROUND)) { FamasFire(0.030 + 0.3 * m_flAccuracy, 0.0825, FALSE, bFireBurst); } else if (m_pPlayer->pev->velocity.Length2D() > 140) { FamasFire(0.030 + 0.07 * m_flAccuracy, 0.0825, FALSE, bFireBurst); } else { FamasFire(0.02 * m_flAccuracy, 0.0825, FALSE, bFireBurst); } }