diff options
Diffstat (limited to 'game/server/tfc/tfc_building.h')
| -rw-r--r-- | game/server/tfc/tfc_building.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/game/server/tfc/tfc_building.h b/game/server/tfc/tfc_building.h new file mode 100644 index 0000000..401c5bf --- /dev/null +++ b/game/server/tfc/tfc_building.h @@ -0,0 +1,73 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#ifndef TFC_BUILDING_H +#define TFC_BUILDING_H +#ifdef _WIN32 +#pragma once +#endif + + +#include "baseanimating.h" +#include "tfc_shareddefs.h" + + +class CTFBaseBuilding : public CBaseAnimating +{ +public: + EHANDLE real_owner; +}; + + +class CTFTeleporter : public CTFBaseBuilding +{ +public: + void Spawn(void); + void Precache(void); + + void EXPORT Teleporter_Explode( void ); + void EXPORT TeleporterThink( void ); + void EXPORT TeleporterTouch( CBaseEntity *pOther ); + + Class_T Classify(void) { return CLASS_MACHINE; }; + int BloodColor( void ) { return DONT_BLEED; } + + void Remove( void ); + + void TeamFortress_TakeEMPBlast(CBaseEntity* pevGren); + void Finished( void ); + static CTFTeleporter *CreateTeleporter( Vector vecOrigin, Vector vecAngles, CBaseEntity *pOwner, int type ); + BOOL EngineerUse( CBasePlayer *pPlayer ); + void Killed( CBaseEntity *pevInflictor, CBaseEntity *pevAttacker, int iGib ); + void TeleporterSend( CBasePlayer *pPlayer ); + void TeleporterReceive( CBasePlayer *pPlayer, float flDelay ); + void TeleporterKilled( void ); + BOOL TeleportersReady( void ); + void TeleporterFadePlayer( int direction ); + void TeleporterProcessFade( void ); + void SetTeleporterRings( int state ); + void SetTeleporterParticles( int state ); + float GetDamageMultiplier( void ); + CTFTeleporter* FindMatch( void ); + const Vector& GetTeamColor( void ); + bool PlayerIsStandingOnTeleporter( CBaseEntity *pOther ); + + CBasePlayer *m_pPlayer; // player being teleported + + float m_flInitialUseDelay; + + int m_iType; // entry or exit + int m_iState; // state of the teleporter (idle, ready, sending, etc.) + int m_iDestroyed; // has this teleporter been destroyed + + int m_iShardIndex; // Metal shards + + float m_flMyNextThink; // used to control the pace at which the teleporters work + float m_flDamageDelay; // damage multiplier that slows the teleporters when they're damaged +}; + + +#endif // TFC_BUILDING_H |