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.
74 lines
2.0 KiB
74 lines
2.0 KiB
5 years ago
|
//========= 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
|