//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef TF_WEARABLE_ITEM_DEMOSHIELD_H #define TF_WEARABLE_ITEM_DEMOSHIELD_H #ifdef _WIN32 #pragma once #endif #include "cbase.h" #include "tf_shareddefs.h" #include "tf_item_wearable.h" #ifdef CLIENT_DLL #include "c_tf_player.h" #include "tf_viewmodel.h" #include "bone_setup.h" #else #include "tf_player.h" #endif #ifdef CLIENT_DLL #define CTFWearableDemoShield C_TFWearableDemoShield class C_TFSword; #endif //============================================================================= // // // class CTFWearableDemoShield : public CTFWearable { DECLARE_CLASS( CTFWearableDemoShield, CTFWearable ); public: DECLARE_NETWORKCLASS(); DECLARE_DATADESC(); CTFWearableDemoShield(); virtual void Precache(); void DoSpecialAction( CTFPlayer *pPlayer ); void EndSpecialAction( CTFPlayer *pPlayer ); // Charge bool CanCharge( CTFPlayer *pPlayer ); void DoCharge( CTFPlayer *pPlayer ); void ShieldBash( CTFPlayer *pPlayer, float flCurrentChargeMeter ); virtual void Equip( CBasePlayer* pOwner ); virtual void UnEquip( CBasePlayer* pOwner ); float CalculateChargeDamage( float flCurrentChargeMeter ); Vector GetShieldDamageForce( float flCurrentChargeMeter ); private: #ifdef GAME_DLL bool m_bImpactedSomething; #endif }; #endif // TF_WEARABLE_ITEM_DEMOSHIELD_H