//========= 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 CSatchelCharge : public CBaseGrenade { public: DECLARE_CLASS( CSatchelCharge, CBaseGrenade ); void Spawn( void ); void Precache( void ); void BounceSound( void ); void UpdateSlideSound( void ); void KillSlideSound(void); void SatchelTouch( CBaseEntity *pOther ); void SatchelThink( void ); void SatchelUse( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); CSoundPatch* m_soundSlide; float m_flSlideVolume; 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 InitSlideSound(void); }; #endif //SATCHEL_H