diff options
Diffstat (limited to 'game/server/smoke_trail.h')
| -rw-r--r-- | game/server/smoke_trail.h | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/game/server/smoke_trail.h b/game/server/smoke_trail.h new file mode 100644 index 0000000..34398c1 --- /dev/null +++ b/game/server/smoke_trail.h @@ -0,0 +1,210 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#ifndef SMOKE_TRAIL_H +#define SMOKE_TRAIL_H + +#include "baseparticleentity.h" + +//================================================== +// SmokeTrail +//================================================== + +class SmokeTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( SmokeTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + SmokeTrail(); + virtual bool KeyValue( const char *szKeyName, const char *szValue ); + void SetEmit(bool bVal); + void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName = NULL); + static SmokeTrail* CreateSmokeTrail(); + +public: + // Effect parameters. These will assume default values but you can change them. + CNetworkVector( m_StartColor ); // Fade between these colors. + CNetworkVector( m_EndColor ); + CNetworkVar( float, m_Opacity ); + + CNetworkVar( float, m_SpawnRate ); // How many particles per second. + CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? + CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? + CNetworkVar( float, m_MinSpeed ); // Speed range. + CNetworkVar( float, m_MaxSpeed ); + CNetworkVar( float, m_StartSize ); // Size ramp. + CNetworkVar( float, m_EndSize ); + CNetworkVar( float, m_SpawnRadius ); + CNetworkVar( float, m_MinDirectedSpeed ); // Speed range. + CNetworkVar( float, m_MaxDirectedSpeed ); + CNetworkVar( bool, m_bEmit ); + + CNetworkVar( int, m_nAttachment ); +}; + +//================================================== +// RocketTrail +//================================================== + +class RocketTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( RocketTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + RocketTrail(); + void SetEmit(bool bVal); + void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName = NULL); + static RocketTrail *CreateRocketTrail(); + +public: + // Effect parameters. These will assume default values but you can change them. + CNetworkVector( m_StartColor ); // Fade between these colors. + CNetworkVector( m_EndColor ); + CNetworkVar( float, m_Opacity ); + + CNetworkVar( float, m_SpawnRate ); // How many particles per second. + CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? + CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? + CNetworkVar( float, m_MinSpeed ); // Speed range. + CNetworkVar( float, m_MaxSpeed ); + CNetworkVar( float, m_StartSize ); // Size ramp. + CNetworkVar( float, m_EndSize ); + CNetworkVar( float, m_SpawnRadius ); + + CNetworkVar( bool, m_bEmit ); + + CNetworkVar( int, m_nAttachment ); + + CNetworkVar( bool, m_bDamaged ); + + CNetworkVar( float, m_flFlareScale ); // Size of the flare +}; + +//================================================== +// SporeTrail +//================================================== + +class SporeTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( SporeTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + SporeTrail( void ); + + static SporeTrail* CreateSporeTrail(); + +//Data members +public: + + CNetworkVector( m_vecEndColor ); + + CNetworkVar( float, m_flSpawnRate ); + CNetworkVar( float, m_flParticleLifetime ); + CNetworkVar( float, m_flStartSize ); + CNetworkVar( float, m_flEndSize ); + CNetworkVar( float, m_flSpawnRadius ); + + CNetworkVar( bool, m_bEmit ); +}; + +//================================================== +// SporeExplosion +//================================================== + +class SporeExplosion : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( SporeExplosion, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + SporeExplosion( void ); + void Spawn( void ); + + static SporeExplosion* CreateSporeExplosion(); + + void InputEnable( inputdata_t &inputdata ); + void InputDisable( inputdata_t &inputdata ); + +//Data members +public: + + bool m_bDisabled; + + CNetworkVar( float, m_flSpawnRate ); + CNetworkVar( float, m_flParticleLifetime ); + CNetworkVar( float, m_flStartSize ); + CNetworkVar( float, m_flEndSize ); + CNetworkVar( float, m_flSpawnRadius ); + + CNetworkVar( bool, m_bEmit ); + CNetworkVar( bool, m_bDontRemove ); +}; + +//================================================== +// CFireTrail +//================================================== + +class CFireTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( CFireTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + static CFireTrail *CreateFireTrail( void ); + void FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName ); + void Precache( void ); + + CNetworkVar( int, m_nAttachment ); + CNetworkVar( float, m_flLifetime ); +}; + +//================================================== +// DustTrail +//================================================== + +class DustTrail : public CBaseParticleEntity +{ + DECLARE_DATADESC(); +public: + DECLARE_CLASS( DustTrail, CBaseParticleEntity ); + DECLARE_SERVERCLASS(); + + DustTrail(); + virtual bool KeyValue( const char *szKeyName, const char *szValue ); + void SetEmit(bool bVal); + static DustTrail* CreateDustTrail(); + +public: + // Effect parameters. These will assume default values but you can change them. + CNetworkVector( m_Color ); + CNetworkVar( float, m_Opacity ); + + CNetworkVar( float, m_SpawnRate ); // How many particles per second. + CNetworkVar( float, m_ParticleLifetime ); // How long do the particles live? + CNetworkVar( float, m_StopEmitTime ); // When do I stop emitting particles? + CNetworkVar( float, m_MinSpeed ); // Speed range. + CNetworkVar( float, m_MaxSpeed ); + CNetworkVar( float, m_StartSize ); // Size ramp. + CNetworkVar( float, m_EndSize ); + CNetworkVar( float, m_SpawnRadius ); + CNetworkVar( float, m_MinDirectedSpeed ); // Speed range. + CNetworkVar( float, m_MaxDirectedSpeed ); + CNetworkVar( bool, m_bEmit ); + + CNetworkVar( int, m_nAttachment ); +}; + + +#endif |