summaryrefslogtreecommitdiff
path: root/game/server/tfc/tfc_building.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/tfc/tfc_building.h')
-rw-r--r--game/server/tfc/tfc_building.h73
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