Team Fortress 2 Source Code as on 22/4/2020
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

//========= 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