sqwarmed/sdk_src/game/server/swarm/asw_extinguisher_projectile.h

49 lines
1.4 KiB
C++

#ifndef _DEFINED_ASW_EXTINGUISHER_PROJECTILE_H
#define _DEFINED_ASW_EXTINGUISHER_PROJECTILE_H
#pragma once
#ifdef CLIENT_DLL
#define CBaseEntity C_BaseEntity
#endif
class CSprite;
class CSpriteTrail;
class CASW_Extinguisher_Projectile : public CBaseCombatCharacter
{
DECLARE_CLASS( CASW_Extinguisher_Projectile, CBaseCombatCharacter );
#if !defined( CLIENT_DLL )
DECLARE_SERVERCLASS();
DECLARE_DATADESC();
#endif
virtual ~CASW_Extinguisher_Projectile( void );
public:
void Spawn( void );
bool CreateVPhysics( void );
//void SetVelocity( const Vector &velocity, const AngularImpulse &angVelocity );
//void VPhysicsUpdate( IPhysicsObject *pPhysics );
unsigned int PhysicsSolidMaskForEntity() const;
void ProjectileTouch( CBaseEntity *pOther );
virtual void PhysicsSimulate( void );
virtual int ShouldTransmit( const CCheckTransmitInfo *pInfo );
void TouchedEnvFire();
void SetFreezeAmount( float flFreeze ) { m_flFreezeAmount = flFreeze; }
static CASW_Extinguisher_Projectile *Extinguisher_Projectile_Create( const Vector &position, const QAngle &angles, const Vector &velocity, const AngularImpulse &angVelocity, CBaseEntity *pOwner );
CBaseEntity* GetFirer();
EHANDLE m_hFirer;
protected:
float m_flDamage;
bool m_inSolid;
float m_flFreezeAmount;
};
#endif // _DEFINED_ASW_EXTINGUISHER_PROJECTILE_H