You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.2 KiB
59 lines
1.2 KiB
5 years ago
|
//========= 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
|