summaryrefslogtreecommitdiff
path: root/game/server/smoke_trail.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/smoke_trail.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/server/smoke_trail.h')
-rw-r--r--game/server/smoke_trail.h210
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