hl2_src-leak-2017/src/game/server/hl2/grenade_spit.h

59 lines
1.2 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Projectile shot by bullsquid
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#ifndef GRENADESPIT_H
#define GRENADESPIT_H
#include "basegrenade_shared.h"
class CParticleSystem;
enum SpitSize_e
{
SPIT_SMALL,
SPIT_MEDIUM,
SPIT_LARGE,
};
#define SPIT_GRAVITY 600
class CGrenadeSpit : public CBaseGrenade
{
DECLARE_CLASS( CGrenadeSpit, CBaseGrenade );
public:
CGrenadeSpit( void );
virtual void Spawn( void );
virtual void Precache( void );
virtual void Event_Killed( const CTakeDamageInfo &info );
virtual unsigned int PhysicsSolidMaskForEntity( void ) const { return ( BaseClass::PhysicsSolidMaskForEntity() | CONTENTS_WATER ); }
void GrenadeSpitTouch( CBaseEntity *pOther );
void SetSpitSize( int nSize );
void Detonate( void );
void Think( void );
private:
DECLARE_DATADESC();
void InitHissSound( void );
CHandle< CParticleSystem > m_hSpitEffect;
CSoundPatch *m_pHissSound;
bool m_bPlaySound;
};
#endif //GRENADESPIT_H