You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.0 KiB
73 lines
2.0 KiB
//========= 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
|
|
|