//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Satchel Charge // // $Workfile: $ // $Date: $ // $NoKeywords: $ //=============================================================================// #ifndef SATCHEL_H #define SATCHEL_H #ifdef _WIN32 #pragma once #endif #include "basegrenade_shared.h" #include "hl2mp/weapon_slam.h" class CSoundPatch; class CSprite; class CSatchelCharge : public CBaseGrenade { public: DECLARE_CLASS(CSatchelCharge, CBaseGrenade); void Spawn(void); void Precache(void); void BounceSound(void); void SatchelTouch(CBaseEntity *pOther); void SatchelThink(void); // Input handlers void InputExplode(inputdata_t &inputdata); float m_flNextBounceSoundTime; bool m_bInAir; Vector m_vLastPosition; public: CWeapon_SLAM *m_pMyWeaponSLAM; // Who shot me.. bool m_bIsAttached; void Deactivate(void); CSatchelCharge(); ~CSatchelCharge(); DECLARE_DATADESC(); private: void CreateEffects(void); CHandle m_hGlowSprite; }; #endif // SATCHEL_H