mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-29 17:43:01 +00:00
59 lines
1.2 KiB
C++
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
|