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.
78 lines
2.2 KiB
78 lines
2.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Infiltrator |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef TF_CLASS_INFILTRATOR_H |
|
#define TF_CLASS_INFILTRATOR_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#define INFILTRATOR_EAVESDROP_RADIUS 256.0f |
|
#define INFILTRATOR_DISGUISE_TIME 3.0f |
|
|
|
// Time after losing camo before the infiltrator can re-camo |
|
#define INFILTRATOR_RECAMO_TIME 5.0 |
|
// Time after spawning that the infilitrator's camo kicks in |
|
#define INFILTRATOR_CAMOTIME_AFTER_SPAWN 3.0 |
|
|
|
#include "TFClassData_Shared.h" |
|
|
|
class CLootableCorpse; |
|
|
|
//===================================================================== |
|
// Infiltrator |
|
class CPlayerClassInfiltrator : public CPlayerClass |
|
{ |
|
DECLARE_CLASS( CPlayerClassInfiltrator, CPlayerClass ); |
|
public: |
|
CPlayerClassInfiltrator( CBaseTFPlayer *pPlayer, TFClass iClass ); |
|
~CPlayerClassInfiltrator(); |
|
|
|
virtual void ClassActivate( void ); |
|
|
|
virtual const char* GetClassModelString( int nTeam ); |
|
|
|
// Class Initialization |
|
virtual void RespawnClass( void ); // Called upon all respawns |
|
virtual bool ResupplyAmmo( float flPercentage, ResupplyReason_t reason ); |
|
virtual void SetupMoveData( void ); // Override class specific movement data here. |
|
virtual void SetupSizeData( void ); // Override class specific size data here. |
|
virtual void ResetViewOffset( void ); |
|
|
|
PlayerClassInfiltratorData_t *GetClassData( void ) { return &m_ClassData; } |
|
|
|
virtual void ClassThink( void ); |
|
virtual void ClearCamouflage( void ); |
|
|
|
virtual int CanBuild( int iObjectType ); |
|
virtual bool ClientCommand( const CCommand &args ); |
|
virtual void GainedNewTechnology( CBaseTechnology *pTechnology ); |
|
|
|
void CheckForAssassination( void ); |
|
|
|
// Disguise |
|
virtual void FinishedDisguising( void ); |
|
virtual void StopDisguising( void ); |
|
|
|
// Hooks |
|
virtual void SetPlayerHull( void ); |
|
|
|
protected: |
|
bool m_bCanConsumeCorpses; |
|
float m_flStartCamoAt; |
|
|
|
// Assassination weapon |
|
//CHandle<CWeaponInfiltrator> m_hAssassinationWeapon; |
|
CHandle<CBaseCombatWeapon> m_hSwappedWeapon; |
|
|
|
PlayerClassInfiltratorData_t m_ClassData; |
|
}; |
|
|
|
EXTERN_SEND_TABLE( DT_PlayerClassInfiltratorData ) |
|
|
|
#endif // TF_CLASS_INFILTRATOR_H
|
|
|