aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/tesla.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/tesla.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/tesla.cpp')
-rw-r--r--mp/src/game/server/tesla.cpp360
1 files changed, 180 insertions, 180 deletions
diff --git a/mp/src/game/server/tesla.cpp b/mp/src/game/server/tesla.cpp
index 4036bbab..288fc8e2 100644
--- a/mp/src/game/server/tesla.cpp
+++ b/mp/src/game/server/tesla.cpp
@@ -1,180 +1,180 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#include "cbase.h"
-#include "tesla.h"
-#include "te_effect_dispatch.h"
-#include "sendproxy.h"
-#include "engine/IEngineSound.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-LINK_ENTITY_TO_CLASS( point_tesla, CTesla );
-
-BEGIN_DATADESC( CTesla )
-
- DEFINE_KEYFIELD( m_SourceEntityName,FIELD_STRING, "m_SourceEntityName" ),
- DEFINE_KEYFIELD( m_SoundName, FIELD_STRING, "m_SoundName" ),
- DEFINE_KEYFIELD( m_iszSpriteName, FIELD_STRING, "texture" ),
-
- DEFINE_KEYFIELD( m_Color, FIELD_COLOR32, "m_Color" ),
- DEFINE_KEYFIELD( m_flRadius, FIELD_FLOAT, "m_flRadius" ),
-
- //DEFINE_ARRAY( m_flThickness, FIELD_FLOAT, 2 ),
- DEFINE_KEYFIELD( m_flThickness[0], FIELD_FLOAT, "thick_min" ),
- DEFINE_KEYFIELD( m_flThickness[1], FIELD_FLOAT, "thick_max" ),
-
- //DEFINE_ARRAY( m_flTimeVisible, FIELD_FLOAT, 2 ),
- DEFINE_KEYFIELD( m_flTimeVisible[0],FIELD_FLOAT, "lifetime_min" ),
- DEFINE_KEYFIELD( m_flTimeVisible[1],FIELD_FLOAT, "lifetime_max" ),
-
- //DEFINE_ARRAY( m_flArcInterval, FIELD_FLOAT, 2 ),
- DEFINE_KEYFIELD( m_flArcInterval[0],FIELD_FLOAT, "interval_min" ),
- DEFINE_KEYFIELD( m_flArcInterval[1],FIELD_FLOAT, "interval_max" ),
-
- //DEFINE_ARRAY( m_NumBeams, FIELD_INTEGER, 2 ),
- DEFINE_KEYFIELD( m_NumBeams[0], FIELD_INTEGER, "beamcount_min" ),
- DEFINE_KEYFIELD( m_NumBeams[1], FIELD_INTEGER, "beamcount_max" ),
-
- DEFINE_KEYFIELD( m_bOn, FIELD_BOOLEAN, "m_bOn" ),
-
- DEFINE_INPUTFUNC( FIELD_VOID, "TurnOn", InputTurnOn ),
- DEFINE_INPUTFUNC( FIELD_VOID, "TurnOff", InputTurnOff ),
- DEFINE_INPUTFUNC( FIELD_VOID, "DoSpark", InputDoSpark ),
-
- DEFINE_FUNCTION( ShootArcThink )
-
-END_DATADESC()
-
-
-IMPLEMENT_SERVERCLASS_ST( CTesla, DT_Tesla )
- SendPropStringT( SENDINFO( m_SoundName ) ),
- SendPropStringT( SENDINFO( m_iszSpriteName ) )
-END_SEND_TABLE()
-
-
-CTesla::CTesla()
-{
- m_SourceEntityName = NULL_STRING;
- m_SoundName = NULL_STRING;
- m_iszSpriteName = NULL_STRING;
- m_NumBeams[0] = m_NumBeams[1] = 6;
- m_flRadius = 200;
- m_flThickness[0] = m_flThickness[1] = 5;
- m_flTimeVisible[0] = 0.3;
- m_flTimeVisible[1] = 0.55;
- m_flArcInterval[0] = m_flArcInterval[1] = 0.5;
-
- AddEFlags( EFL_FORCE_CHECK_TRANSMIT );
-}
-
-
-void CTesla::Spawn()
-{
- if ( m_iszSpriteName.Get() == NULL_STRING )
- {
- m_iszSpriteName = AllocPooledString("sprites/physbeam.vmt");
- }
-
- Precache();
- BaseClass::Spawn();
-}
-
-
-void CTesla::Activate()
-{
- BaseClass::Activate();
-
- SetThink( &CTesla::ShootArcThink );
- SetupForNextArc();
-}
-
-
-void CTesla::Precache()
-{
- PrecacheModel( STRING(m_iszSpriteName.Get()) );
- BaseClass::Precache();
-
- PrecacheScriptSound( STRING( m_SoundName.Get() ) );
-}
-
-
-void CTesla::SetupForNextArc()
-{
- if (m_bOn)
- {
- float flTimeToNext = RandomFloat( m_flArcInterval[0], m_flArcInterval[1] );
- SetNextThink( gpGlobals->curtime + flTimeToNext );
- }
- else
- {
- SetNextThink( TICK_NEVER_THINK );
- }
-}
-
-
-CBaseEntity* CTesla::GetSourceEntity()
-{
- if ( m_SourceEntityName != NULL_STRING )
- {
- CBaseEntity *pRet = gEntList.FindEntityByName( NULL, m_SourceEntityName );
- if ( pRet )
- return pRet;
- }
-
- return this;
-}
-
-
-void CTesla::ShootArcThink()
-{
- DoSpark();
- SetupForNextArc();
-}
-
-
-void CTesla::DoSpark()
-{
- // Shoot out an arc.
- EntityMessageBegin( this );
-
- CBaseEntity *pEnt = GetSourceEntity();
-
- WRITE_VEC3COORD( pEnt->GetAbsOrigin() );
- WRITE_SHORT( pEnt->entindex() );
- WRITE_FLOAT( m_flRadius );
- WRITE_BYTE( m_Color.r );
- WRITE_BYTE( m_Color.g );
- WRITE_BYTE( m_Color.b );
- WRITE_BYTE( m_Color.a );
- WRITE_CHAR( RandomInt( m_NumBeams[0], m_NumBeams[1] ) );
- WRITE_FLOAT( RandomFloat( m_flThickness[0], m_flThickness[1] ) );
- WRITE_FLOAT( RandomFloat( m_flTimeVisible[0], m_flTimeVisible[1] ) );
-
- MessageEnd();
-}
-
-
-void CTesla::InputDoSpark( inputdata_t &inputdata )
-{
- DoSpark();
-}
-
-
-void CTesla::InputTurnOn( inputdata_t &inputdata )
-{
- m_bOn = true;
- SetupForNextArc();
-}
-
-
-void CTesla::InputTurnOff( inputdata_t &inputdata )
-{
- m_bOn = false;
- SetupForNextArc();
-}
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#include "cbase.h"
+#include "tesla.h"
+#include "te_effect_dispatch.h"
+#include "sendproxy.h"
+#include "engine/IEngineSound.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+LINK_ENTITY_TO_CLASS( point_tesla, CTesla );
+
+BEGIN_DATADESC( CTesla )
+
+ DEFINE_KEYFIELD( m_SourceEntityName,FIELD_STRING, "m_SourceEntityName" ),
+ DEFINE_KEYFIELD( m_SoundName, FIELD_STRING, "m_SoundName" ),
+ DEFINE_KEYFIELD( m_iszSpriteName, FIELD_STRING, "texture" ),
+
+ DEFINE_KEYFIELD( m_Color, FIELD_COLOR32, "m_Color" ),
+ DEFINE_KEYFIELD( m_flRadius, FIELD_FLOAT, "m_flRadius" ),
+
+ //DEFINE_ARRAY( m_flThickness, FIELD_FLOAT, 2 ),
+ DEFINE_KEYFIELD( m_flThickness[0], FIELD_FLOAT, "thick_min" ),
+ DEFINE_KEYFIELD( m_flThickness[1], FIELD_FLOAT, "thick_max" ),
+
+ //DEFINE_ARRAY( m_flTimeVisible, FIELD_FLOAT, 2 ),
+ DEFINE_KEYFIELD( m_flTimeVisible[0],FIELD_FLOAT, "lifetime_min" ),
+ DEFINE_KEYFIELD( m_flTimeVisible[1],FIELD_FLOAT, "lifetime_max" ),
+
+ //DEFINE_ARRAY( m_flArcInterval, FIELD_FLOAT, 2 ),
+ DEFINE_KEYFIELD( m_flArcInterval[0],FIELD_FLOAT, "interval_min" ),
+ DEFINE_KEYFIELD( m_flArcInterval[1],FIELD_FLOAT, "interval_max" ),
+
+ //DEFINE_ARRAY( m_NumBeams, FIELD_INTEGER, 2 ),
+ DEFINE_KEYFIELD( m_NumBeams[0], FIELD_INTEGER, "beamcount_min" ),
+ DEFINE_KEYFIELD( m_NumBeams[1], FIELD_INTEGER, "beamcount_max" ),
+
+ DEFINE_KEYFIELD( m_bOn, FIELD_BOOLEAN, "m_bOn" ),
+
+ DEFINE_INPUTFUNC( FIELD_VOID, "TurnOn", InputTurnOn ),
+ DEFINE_INPUTFUNC( FIELD_VOID, "TurnOff", InputTurnOff ),
+ DEFINE_INPUTFUNC( FIELD_VOID, "DoSpark", InputDoSpark ),
+
+ DEFINE_FUNCTION( ShootArcThink )
+
+END_DATADESC()
+
+
+IMPLEMENT_SERVERCLASS_ST( CTesla, DT_Tesla )
+ SendPropStringT( SENDINFO( m_SoundName ) ),
+ SendPropStringT( SENDINFO( m_iszSpriteName ) )
+END_SEND_TABLE()
+
+
+CTesla::CTesla()
+{
+ m_SourceEntityName = NULL_STRING;
+ m_SoundName = NULL_STRING;
+ m_iszSpriteName = NULL_STRING;
+ m_NumBeams[0] = m_NumBeams[1] = 6;
+ m_flRadius = 200;
+ m_flThickness[0] = m_flThickness[1] = 5;
+ m_flTimeVisible[0] = 0.3;
+ m_flTimeVisible[1] = 0.55;
+ m_flArcInterval[0] = m_flArcInterval[1] = 0.5;
+
+ AddEFlags( EFL_FORCE_CHECK_TRANSMIT );
+}
+
+
+void CTesla::Spawn()
+{
+ if ( m_iszSpriteName.Get() == NULL_STRING )
+ {
+ m_iszSpriteName = AllocPooledString("sprites/physbeam.vmt");
+ }
+
+ Precache();
+ BaseClass::Spawn();
+}
+
+
+void CTesla::Activate()
+{
+ BaseClass::Activate();
+
+ SetThink( &CTesla::ShootArcThink );
+ SetupForNextArc();
+}
+
+
+void CTesla::Precache()
+{
+ PrecacheModel( STRING(m_iszSpriteName.Get()) );
+ BaseClass::Precache();
+
+ PrecacheScriptSound( STRING( m_SoundName.Get() ) );
+}
+
+
+void CTesla::SetupForNextArc()
+{
+ if (m_bOn)
+ {
+ float flTimeToNext = RandomFloat( m_flArcInterval[0], m_flArcInterval[1] );
+ SetNextThink( gpGlobals->curtime + flTimeToNext );
+ }
+ else
+ {
+ SetNextThink( TICK_NEVER_THINK );
+ }
+}
+
+
+CBaseEntity* CTesla::GetSourceEntity()
+{
+ if ( m_SourceEntityName != NULL_STRING )
+ {
+ CBaseEntity *pRet = gEntList.FindEntityByName( NULL, m_SourceEntityName );
+ if ( pRet )
+ return pRet;
+ }
+
+ return this;
+}
+
+
+void CTesla::ShootArcThink()
+{
+ DoSpark();
+ SetupForNextArc();
+}
+
+
+void CTesla::DoSpark()
+{
+ // Shoot out an arc.
+ EntityMessageBegin( this );
+
+ CBaseEntity *pEnt = GetSourceEntity();
+
+ WRITE_VEC3COORD( pEnt->GetAbsOrigin() );
+ WRITE_SHORT( pEnt->entindex() );
+ WRITE_FLOAT( m_flRadius );
+ WRITE_BYTE( m_Color.r );
+ WRITE_BYTE( m_Color.g );
+ WRITE_BYTE( m_Color.b );
+ WRITE_BYTE( m_Color.a );
+ WRITE_CHAR( RandomInt( m_NumBeams[0], m_NumBeams[1] ) );
+ WRITE_FLOAT( RandomFloat( m_flThickness[0], m_flThickness[1] ) );
+ WRITE_FLOAT( RandomFloat( m_flTimeVisible[0], m_flTimeVisible[1] ) );
+
+ MessageEnd();
+}
+
+
+void CTesla::InputDoSpark( inputdata_t &inputdata )
+{
+ DoSpark();
+}
+
+
+void CTesla::InputTurnOn( inputdata_t &inputdata )
+{
+ m_bOn = true;
+ SetupForNextArc();
+}
+
+
+void CTesla::InputTurnOff( inputdata_t &inputdata )
+{
+ m_bOn = false;
+ SetupForNextArc();
+}
+