This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

59 lines
1.3 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