Exemple #1
0
void CWeaponGalil::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))
        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);
}
Exemple #2
0
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);
}