//========= 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