diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/hl2/weapon_ar2.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/server/hl2/weapon_ar2.h')
| -rw-r--r-- | game/server/hl2/weapon_ar2.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/game/server/hl2/weapon_ar2.h b/game/server/hl2/weapon_ar2.h new file mode 100644 index 0000000..d5376a8 --- /dev/null +++ b/game/server/hl2/weapon_ar2.h @@ -0,0 +1,79 @@ +//========= 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 "basehlcombatweapon.h" + +class CWeaponAR2 : public CHLMachineGun +{ +public: + DECLARE_CLASS( CWeaponAR2, CHLMachineGun ); + + CWeaponAR2(); + + DECLARE_SERVERCLASS(); + + void ItemPostFrame( void ); + void Precache( void ); + + void SecondaryAttack( void ); + void DelayedAttack( void ); + + const char *GetTracerType( void ) { return "AR2Tracer"; } + + void AddViewKick( void ); + + void FireNPCPrimaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles ); + void FireNPCSecondaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles ); + void Operator_ForceNPCFire( CBaseCombatCharacter *pOperator, bool bSecondary ); + void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator ); + + int GetMinBurst( void ) { return 2; } + int GetMaxBurst( void ) { return 5; } + float GetFireRate( void ) { return 0.1f; } + + bool CanHolster( void ); + bool Reload( void ); + + int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; } + + Activity GetPrimaryAttackActivity( void ); + + void DoImpactEffect( trace_t &tr, int nDamageType ); + + virtual const Vector& GetBulletSpread( void ) + { + static Vector cone; + + cone = VECTOR_CONE_3DEGREES; + + return cone; + } + + const WeaponProficiencyInfo_t *GetProficiencyValues(); + +protected: + + float m_flDelayedFire; + bool m_bShotDelayed; + int m_nVentPose; + + DECLARE_ACTTABLE(); + DECLARE_DATADESC(); +}; + + +#endif //WEAPONAR2_H |