mirror of
https://github.com/Gigaslav/HL2Overcharged.git
synced 2026-09-15 20:12:37 +03:00
71 lines
2.1 KiB
C++
71 lines
2.1 KiB
C++
//========= Copyright © 1996-2005, 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"
|
|
#include "ammodef.h"
|
|
#include "sprite.h"
|
|
#include "beam_shared.h"
|
|
//#include "Sprite.h"
|
|
#include "basecombatweapon_shared.h"
|
|
#define FLARE_SPRITE "sprites/redglow1.vmt"
|
|
#define BEAM_SPRITE "effects/laser1_noz.vmt"
|
|
#define LASER_SPRITE "sprites/greenglow1.vmt"
|
|
#define LSPRITE "sprites/greenglow1.vmt"//"effects/greenglow1"
|
|
#define LASER_SPRITE1 "sprites/redglow1.vmt"
|
|
class CWeaponAR2 : public CHLMachineGun
|
|
{
|
|
public:
|
|
DECLARE_CLASS(CWeaponAR2, CHLMachineGun);
|
|
|
|
CWeaponAR2();
|
|
|
|
DECLARE_SERVERCLASS();
|
|
|
|
protected:
|
|
Activity GetDrawActivity(void);
|
|
Activity GetHolsterActivity(void);
|
|
virtual void ItemPostFrame(void);
|
|
virtual void Precache(void);
|
|
virtual void PrimaryAttack(void);
|
|
virtual void SecondaryAttack(void);
|
|
virtual void DelayedAttack(void);
|
|
const char *GetTracerType(void) { return "AR2Tracer"; }
|
|
virtual void FireNPCPrimaryAttack(CBaseCombatCharacter *pOperator, bool bUseWeaponAngles);
|
|
virtual void FireNPCSecondaryAttack(CBaseCombatCharacter *pOperator, bool bUseWeaponAngles);
|
|
virtual void Operator_ForceNPCFire(CBaseCombatCharacter *pOperator, bool bSecondary);
|
|
virtual void Operator_HandleAnimEvent(animevent_t *pEvent, CBaseCombatCharacter *pOperator);
|
|
virtual bool CanHolster(void);
|
|
virtual int CapabilitiesGet(void) { return bits_CAP_WEAPON_RANGE_ATTACK1; }
|
|
const WeaponProficiencyInfo_t *GetProficiencyValues();
|
|
|
|
private:
|
|
void SetRoundsVisibility();
|
|
void SetRoundVisibility(animevent_t *pEvent, int iRound);
|
|
float m_flDelayedFire;
|
|
bool m_bShotDelayed;
|
|
|
|
int m_iFirstRound;
|
|
int m_iSecondRound;
|
|
int m_iThirdRound;
|
|
|
|
DECLARE_ACTTABLE();
|
|
DECLARE_DATADESC();
|
|
};
|
|
|
|
|
|
#endif //WEAPONAR2_H
|