diff options
Diffstat (limited to 'game/server/hl2/weapon_tripwire.h')
| -rw-r--r-- | game/server/hl2/weapon_tripwire.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/game/server/hl2/weapon_tripwire.h b/game/server/hl2/weapon_tripwire.h new file mode 100644 index 0000000..9ecde01 --- /dev/null +++ b/game/server/hl2/weapon_tripwire.h @@ -0,0 +1,66 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: TRIPWIRE +// +// $Workfile: $ +// $Date: $ +// +//----------------------------------------------------------------------------- +// $Log: $ +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef WEAPONTRIPWIRE_H +#define WEAPONTRIPWIRE_H + +#include "basegrenade_shared.h" +#include "basehlcombatweapon.h" + +enum TripwireState_t +{ + TRIPWIRE_TRIPMINE_READY, + TRIPWIRE_SATCHEL_THROW, + TRIPWIRE_SATCHEL_ATTACH, +}; + +class CWeapon_Tripwire : public CBaseHLCombatWeapon +{ +public: + DECLARE_CLASS( CWeapon_Tripwire, CBaseHLCombatWeapon ); + + DECLARE_SERVERCLASS(); + + bool m_bNeedReload; + bool m_bClearReload; + bool m_bAttachTripwire; + + void Spawn( void ); + void Precache( void ); + + int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; } + void PrimaryAttack( void ); + void SecondaryAttack( void ); + void WeaponIdle( void ); + void WeaponSwitch( void ); + + void SetPickupTouch( void ); + void TripwireTouch( CBaseEntity *pOther ); // default weapon touch + void ItemPostFrame( void ); + bool Reload( void ); + bool CanAttachTripwire(void); // In position where can attach TRIPWIRE? + void StartTripwireAttach( void ); + void TripwireAttach( void ); + + bool Deploy( void ); + bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL ); + + + CWeapon_Tripwire(); + + DECLARE_ACTTABLE(); + DECLARE_DATADESC(); +}; + + +#endif //WEAPONTRIPWIRE_H |