diff options
Diffstat (limited to 'mp/src/game/server/hl2/citadel_effects.cpp')
| -rw-r--r-- | mp/src/game/server/hl2/citadel_effects.cpp | 316 |
1 files changed, 158 insertions, 158 deletions
diff --git a/mp/src/game/server/hl2/citadel_effects.cpp b/mp/src/game/server/hl2/citadel_effects.cpp index d4919c56..5cffee2f 100644 --- a/mp/src/game/server/hl2/citadel_effects.cpp +++ b/mp/src/game/server/hl2/citadel_effects.cpp @@ -1,158 +1,158 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#include "cbase.h"
-#include "citadel_effects_shared.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-LINK_ENTITY_TO_CLASS( env_citadel_energy_core, CCitadelEnergyCore );
-
-BEGIN_DATADESC( CCitadelEnergyCore )
- DEFINE_KEYFIELD( m_flScale, FIELD_FLOAT, "scale" ),
- DEFINE_FIELD( m_nState, FIELD_INTEGER ),
- DEFINE_FIELD( m_flDuration, FIELD_FLOAT ),
- DEFINE_FIELD( m_flStartTime, FIELD_TIME ),
-
- DEFINE_INPUTFUNC( FIELD_FLOAT, "StartCharge", InputStartCharge ),
- DEFINE_INPUTFUNC( FIELD_VOID, "StartDischarge", InputStartDischarge ),
- DEFINE_INPUTFUNC( FIELD_FLOAT, "Stop", InputStop ),
-END_DATADESC()
-
-IMPLEMENT_SERVERCLASS_ST( CCitadelEnergyCore, DT_CitadelEnergyCore )
- SendPropFloat( SENDINFO(m_flScale), 0, SPROP_NOSCALE),
- SendPropInt( SENDINFO(m_nState), 8, SPROP_UNSIGNED),
- SendPropFloat( SENDINFO(m_flDuration), 0, SPROP_NOSCALE),
- SendPropFloat( SENDINFO(m_flStartTime), 0, SPROP_NOSCALE),
- SendPropInt( SENDINFO(m_spawnflags), 0, SPROP_UNSIGNED),
-END_SEND_TABLE()
-
-
-//-----------------------------------------------------------------------------
-// Precache:
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::Precache()
-{
- BaseClass::Precache();
- PrecacheMaterial( "effects/combinemuzzle2_dark" );
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::Spawn( void )
-{
- Precache();
-
- UTIL_SetSize( this, Vector( -8, -8, -8 ), Vector( 8, 8, 8 ) );
-
- // See if we start active
- if ( HasSpawnFlags( SF_ENERGYCORE_START_ON ) )
- {
- m_nState = (int)ENERGYCORE_STATE_DISCHARGING;
- m_flStartTime = gpGlobals->curtime;
- }
-
- // No model but we still need to force this!
- AddEFlags( EFL_FORCE_CHECK_TRANSMIT );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : flWarmUpTime -
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::StartCharge( float flWarmUpTime )
-{
- m_nState = (int)ENERGYCORE_STATE_CHARGING;
- m_flDuration = flWarmUpTime;
- m_flStartTime = gpGlobals->curtime;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::StartDischarge( void )
-{
- m_nState = (int)ENERGYCORE_STATE_DISCHARGING;
- m_flStartTime = gpGlobals->curtime;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : flCoolDownTime -
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::StopDischarge( float flCoolDownTime )
-{
- m_nState = (int)ENERGYCORE_STATE_OFF;
- m_flDuration = flCoolDownTime;
- m_flStartTime = gpGlobals->curtime;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::InputStartCharge( inputdata_t &inputdata )
-{
- StartCharge( inputdata.value.Float() );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::InputStartDischarge( inputdata_t &inputdata )
-{
- StartDischarge();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CCitadelEnergyCore::InputStop( inputdata_t &inputdata )
-{
- StopDischarge( inputdata.value.Float() );
-}
-
-CBaseViewModel *IsViewModelMoveParent( CBaseEntity *pEffect )
-{
- if ( pEffect->GetMoveParent() )
- {
- CBaseViewModel *pViewModel = dynamic_cast<CBaseViewModel *>( pEffect->GetMoveParent() );
-
- if ( pViewModel )
- {
- return pViewModel;
- }
- }
-
- return NULL;
-}
-
-int CCitadelEnergyCore::UpdateTransmitState( void )
-{
- if ( IsViewModelMoveParent( this ) )
- {
- return SetTransmitState( FL_EDICT_FULLCHECK );
- }
-
- return BaseClass::UpdateTransmitState();
-}
-
-int CCitadelEnergyCore::ShouldTransmit( const CCheckTransmitInfo *pInfo )
-{
- CBaseViewModel *pViewModel = IsViewModelMoveParent( this );
-
- if ( pViewModel )
- {
- return pViewModel->ShouldTransmit( pInfo );
- }
-
- return BaseClass::ShouldTransmit( pInfo );
-}
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" +#include "citadel_effects_shared.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +LINK_ENTITY_TO_CLASS( env_citadel_energy_core, CCitadelEnergyCore ); + +BEGIN_DATADESC( CCitadelEnergyCore ) + DEFINE_KEYFIELD( m_flScale, FIELD_FLOAT, "scale" ), + DEFINE_FIELD( m_nState, FIELD_INTEGER ), + DEFINE_FIELD( m_flDuration, FIELD_FLOAT ), + DEFINE_FIELD( m_flStartTime, FIELD_TIME ), + + DEFINE_INPUTFUNC( FIELD_FLOAT, "StartCharge", InputStartCharge ), + DEFINE_INPUTFUNC( FIELD_VOID, "StartDischarge", InputStartDischarge ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "Stop", InputStop ), +END_DATADESC() + +IMPLEMENT_SERVERCLASS_ST( CCitadelEnergyCore, DT_CitadelEnergyCore ) + SendPropFloat( SENDINFO(m_flScale), 0, SPROP_NOSCALE), + SendPropInt( SENDINFO(m_nState), 8, SPROP_UNSIGNED), + SendPropFloat( SENDINFO(m_flDuration), 0, SPROP_NOSCALE), + SendPropFloat( SENDINFO(m_flStartTime), 0, SPROP_NOSCALE), + SendPropInt( SENDINFO(m_spawnflags), 0, SPROP_UNSIGNED), +END_SEND_TABLE() + + +//----------------------------------------------------------------------------- +// Precache: +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::Precache() +{ + BaseClass::Precache(); + PrecacheMaterial( "effects/combinemuzzle2_dark" ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::Spawn( void ) +{ + Precache(); + + UTIL_SetSize( this, Vector( -8, -8, -8 ), Vector( 8, 8, 8 ) ); + + // See if we start active + if ( HasSpawnFlags( SF_ENERGYCORE_START_ON ) ) + { + m_nState = (int)ENERGYCORE_STATE_DISCHARGING; + m_flStartTime = gpGlobals->curtime; + } + + // No model but we still need to force this! + AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : flWarmUpTime - +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::StartCharge( float flWarmUpTime ) +{ + m_nState = (int)ENERGYCORE_STATE_CHARGING; + m_flDuration = flWarmUpTime; + m_flStartTime = gpGlobals->curtime; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::StartDischarge( void ) +{ + m_nState = (int)ENERGYCORE_STATE_DISCHARGING; + m_flStartTime = gpGlobals->curtime; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : flCoolDownTime - +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::StopDischarge( float flCoolDownTime ) +{ + m_nState = (int)ENERGYCORE_STATE_OFF; + m_flDuration = flCoolDownTime; + m_flStartTime = gpGlobals->curtime; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::InputStartCharge( inputdata_t &inputdata ) +{ + StartCharge( inputdata.value.Float() ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::InputStartDischarge( inputdata_t &inputdata ) +{ + StartDischarge(); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CCitadelEnergyCore::InputStop( inputdata_t &inputdata ) +{ + StopDischarge( inputdata.value.Float() ); +} + +CBaseViewModel *IsViewModelMoveParent( CBaseEntity *pEffect ) +{ + if ( pEffect->GetMoveParent() ) + { + CBaseViewModel *pViewModel = dynamic_cast<CBaseViewModel *>( pEffect->GetMoveParent() ); + + if ( pViewModel ) + { + return pViewModel; + } + } + + return NULL; +} + +int CCitadelEnergyCore::UpdateTransmitState( void ) +{ + if ( IsViewModelMoveParent( this ) ) + { + return SetTransmitState( FL_EDICT_FULLCHECK ); + } + + return BaseClass::UpdateTransmitState(); +} + +int CCitadelEnergyCore::ShouldTransmit( const CCheckTransmitInfo *pInfo ) +{ + CBaseViewModel *pViewModel = IsViewModelMoveParent( this ); + + if ( pViewModel ) + { + return pViewModel->ShouldTransmit( pInfo ); + } + + return BaseClass::ShouldTransmit( pInfo ); +} |