diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/tf2/tf_class_medic.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'game/server/tf2/tf_class_medic.h')
| -rw-r--r-- | game/server/tf2/tf_class_medic.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/game/server/tf2/tf_class_medic.h b/game/server/tf2/tf_class_medic.h new file mode 100644 index 0000000..714575e --- /dev/null +++ b/game/server/tf2/tf_class_medic.h @@ -0,0 +1,73 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Medic playerclass +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TF_CLASS_MEDIC_H +#define TF_CLASS_MEDIC_H + +#ifdef _WIN32 +#pragma once +#endif + + +#include "TFClassData_Shared.h" + +//===================================================================== +// Medic +class CPlayerClassMedic : public CPlayerClass +{ + DECLARE_CLASS( CPlayerClassMedic, CPlayerClass ); +public: + CPlayerClassMedic( CBaseTFPlayer *pPlayer, TFClass iClass ); + virtual ~CPlayerClassMedic(); + + virtual void ClassActivate( void ); + virtual void ClassDeactivate( void ); + + virtual const char* GetClassModelString( int nTeam ); + + // Class Initialization + virtual void CreateClass( void ); // Create the class upon initial spawn + 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 ); + + PlayerClassMedicData_t *GetClassData( void ) { return &m_ClassData; } + + virtual void ClassThink( void ); + virtual void GainedNewTechnology( CBaseTechnology *pTechnology ); + + // Objects + int CanBuild( int iObjectType ); + + // Orders + virtual void CreatePersonalOrder( void ); + + // Hooks + virtual void SetPlayerHull( void ); + virtual void GetPlayerHull( bool bDucking, Vector &vecMin, Vector &vecMax ); + + virtual float OnTakeDamage( const CTakeDamageInfo &info ); + + // Player physics shadow. + void InitVCollision( void ); + +protected: + + // Weapons + CHandle<CBaseTFCombatWeapon> m_hWpnPlasma; + + bool m_bHasAutoRepair; + float m_flNextHealTime; + + PlayerClassMedicData_t m_ClassData; +}; + +EXTERN_SEND_TABLE( DT_PlayerClassMedicData ) + +#endif // TF_CLASS_MEDIC_H |