aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/hl2/weapon_alyxgun.h
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /mp/src/game/server/hl2/weapon_alyxgun.h
downloadsource-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz
source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip
First version of the SOurce SDK 2013
Diffstat (limited to 'mp/src/game/server/hl2/weapon_alyxgun.h')
-rw-r--r--mp/src/game/server/hl2/weapon_alyxgun.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/mp/src/game/server/hl2/weapon_alyxgun.h b/mp/src/game/server/hl2/weapon_alyxgun.h
new file mode 100644
index 00000000..90dc01c7
--- /dev/null
+++ b/mp/src/game/server/hl2/weapon_alyxgun.h
@@ -0,0 +1,60 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef WEAPON_ALYXGUN_H
+#define WEAPON_ALYXGUN_H
+
+#include "basehlcombatweapon.h"
+
+#if defined( _WIN32 )
+#pragma once
+#endif
+
+class CWeaponAlyxGun : public CHLSelectFireMachineGun
+{
+ DECLARE_DATADESC();
+public:
+ DECLARE_CLASS( CWeaponAlyxGun, CHLSelectFireMachineGun );
+
+ CWeaponAlyxGun();
+ ~CWeaponAlyxGun();
+
+ DECLARE_SERVERCLASS();
+
+ void Precache( void );
+
+ virtual int GetMinBurst( void ) { return 4; }
+ virtual int GetMaxBurst( void ) { return 7; }
+ virtual float GetMinRestTime( void );
+ virtual float GetMaxRestTime( void );
+
+ virtual void Equip( CBaseCombatCharacter *pOwner );
+
+ float GetFireRate( void ) { return 0.1f; }
+ int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; }
+ int WeaponRangeAttack1Condition( float flDot, float flDist );
+ int WeaponRangeAttack2Condition( float flDot, float flDist );
+
+ virtual const Vector& GetBulletSpread( void );
+
+ void FireNPCPrimaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles );
+
+ void Operator_ForceNPCFire( CBaseCombatCharacter *pOperator, bool bSecondary );
+ void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator );
+
+ virtual void SetPickupTouch( void )
+ {
+ // Alyx gun cannot be picked up
+ SetTouch(NULL);
+ }
+
+ float m_flTooCloseTimer;
+
+ DECLARE_ACTTABLE();
+
+};
+
+#endif // WEAPON_ALYXGUN_H