aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/RagdollBoogie.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/RagdollBoogie.h')
-rw-r--r--mp/src/game/server/RagdollBoogie.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/mp/src/game/server/RagdollBoogie.h b/mp/src/game/server/RagdollBoogie.h
new file mode 100644
index 00000000..6a049950
--- /dev/null
+++ b/mp/src/game/server/RagdollBoogie.h
@@ -0,0 +1,50 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef RAGDOLLBOOGIE_H
+#define RAGDOLLBOOGIE_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+//-----------------------------------------------------------------------------
+// Set this spawnflag before calling Spawn to get electrical effects
+//-----------------------------------------------------------------------------
+#define SF_RAGDOLL_BOOGIE_ELECTRICAL 0x10000
+#define SF_RAGDOLL_BOOGIE_ELECTRICAL_NARROW_BEAM 0x20000
+
+
+//-----------------------------------------------------------------------------
+// Makes ragdolls DANCE!
+//-----------------------------------------------------------------------------
+class CRagdollBoogie : public CBaseEntity
+{
+ DECLARE_DATADESC();
+ DECLARE_CLASS( CRagdollBoogie, CBaseEntity );
+
+public:
+ static CRagdollBoogie *Create( CBaseEntity *pTarget, float flMagnitude, float flStartTime, float flLengthTime = 0.0f, int nSpawnFlags = 0 );
+ static void IncrementSuppressionCount( CBaseEntity *pTarget );
+ static void DecrementSuppressionCount( CBaseEntity *pTarget );
+
+ void Spawn();
+
+private:
+ void AttachToEntity( CBaseEntity *pTarget );
+ void SetBoogieTime( float flStartTime, float flLengthTime );
+ void SetMagnitude( float flMagnitude );
+ void BoogieThink( void );
+ void ZapThink();
+
+ float m_flStartTime;
+ float m_flBoogieLength;
+ float m_flMagnitude;
+ int m_nSuppressionCount;
+};
+
+#endif // RAGDOLLBOOGIE_H