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.
67 lines
1.4 KiB
67 lines
1.4 KiB
//========= 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
|