Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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

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