This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

80 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