hl2_src-leak-2017/src/game/shared/hl2mp/weapon_ar2.h

85 lines
1.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Projectile shot from the AR2
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#ifndef WEAPONAR2_H
#define WEAPONAR2_H
#include "basegrenade_shared.h"
#include "weapon_hl2mpbase_machinegun.h"
#ifdef CLIENT_DLL
#define CWeaponAR2 C_WeaponAR2
#endif
class CWeaponAR2 : public CHL2MPMachineGun
{
public:
DECLARE_CLASS( CWeaponAR2, CHL2MPMachineGun );
CWeaponAR2();
DECLARE_NETWORKCLASS();
DECLARE_PREDICTABLE();
void ItemPostFrame( void );
void Precache( void );
void SecondaryAttack( void );
void DelayedAttack( void );
const char *GetTracerType( void ) { return "AR2Tracer"; }
void AddViewKick( void );
int GetMinBurst( void ) { return 2; }
int GetMaxBurst( void ) { return 5; }
float GetFireRate( void ) { return 0.1f; }
bool CanHolster( void );
bool Reload( void );
Activity GetPrimaryAttackActivity( void );
void DoImpactEffect( trace_t &tr, int nDamageType );
virtual bool Deploy( void );
virtual const Vector& GetBulletSpread( void )
{
static Vector cone;
cone = VECTOR_CONE_3DEGREES;
return cone;
}
const WeaponProficiencyInfo_t *GetProficiencyValues();
private:
CWeaponAR2( const CWeaponAR2 & );
protected:
float m_flDelayedFire;
bool m_bShotDelayed;
int m_nVentPose;
#ifndef CLIENT_DLL
DECLARE_ACTTABLE();
#endif
};
#endif //WEAPONAR2_H