Exemplo n.º 1
0
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 );
    }
}
Exemplo n.º 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);
}
Exemplo n.º 3
0
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);
	}
}