diff options
Diffstat (limited to 'game/server/tf/tf_triggers.h')
| -rw-r--r-- | game/server/tf/tf_triggers.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/game/server/tf/tf_triggers.h b/game/server/tf/tf_triggers.h new file mode 100644 index 0000000..cf140f5 --- /dev/null +++ b/game/server/tf/tf_triggers.h @@ -0,0 +1,74 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_TRIGGERS_H +#define TF_TRIGGERS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "triggers.h" + +//----------------------------------------------------------------------------- +// Purpose: Puts anything that touches the trigger into loser state. +//----------------------------------------------------------------------------- +class CTriggerStun : public CBaseTrigger +{ +public: + CTriggerStun() + { + } + + DECLARE_CLASS( CTriggerStun, CBaseTrigger ); + + + void Spawn( void ); + void StunThink( void ); + void Touch( CBaseEntity *pOther ); + void EndTouch( CBaseEntity *pOther ); + bool StunEntity( CBaseEntity *pOther ); + int StunAllTouchers( float dt ); + + DECLARE_DATADESC(); + + float m_flTriggerDelay; + float m_flStunDuration; + float m_flMoveSpeedReduction; + int m_iStunType; + bool m_bStunEffects; + + // Outputs + COutputEvent m_OnStunPlayer; + + float m_flLastStunTime; + CUtlVector<EHANDLE> m_stunEntities; + +}; + + +//----------------------------------------------------------------------------- +// Purpose: Trigger that allows the map-maker to force the spawn time of players that die inside +//----------------------------------------------------------------------------- +DECLARE_AUTO_LIST( ITriggerPlayerRespawnOverride ); +class CTriggerPlayerRespawnOverride : public CTriggerMultiple, public ITriggerPlayerRespawnOverride +{ +public: + DECLARE_DATADESC(); + DECLARE_CLASS( CTriggerPlayerRespawnOverride, CTriggerMultiple ); + DECLARE_AUTO_LIST( ITriggerPlayerRespawnOverride ); + + void InputSetRespawnTime( inputdata_t &inputdata ) { m_flRespawnTime = inputdata.value.Float(); } + void InputSetRespawnName( inputdata_t &inputdata ) { m_strRespawnEnt = inputdata.value.StringID(); } + float GetRespawnTime( void ) { return m_flRespawnTime; } + string_t GetRespawnName( void ) { return m_strRespawnEnt; } + +private: + float m_flRespawnTime; + string_t m_strRespawnEnt; +}; + +#endif // TF_TRIGGERS_H |