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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#ifndef TF_WEAPON_BONESAW_H
#define TF_WEAPON_BONESAW_H
#ifdef _WIN32
#pragma once
#endif
#include "tf_weaponbase_melee.h"
#ifdef CLIENT_DLL
#include "tf_weapon_medigun.h"
#define CTFBonesaw C_TFBonesaw
#endif
enum bonesaw_weapontypes_t { BONESAW_DEFAULT = 0, BONESAW_UBER_ONHIT, BONESAW_UBER_SAVEDONDEATH, BONESAW_RADIUSHEAL, BONESAW_TONGS, };
//=============================================================================
//
// Bonesaw class.
//
class CTFBonesaw : public CTFWeaponBaseMelee { public: DECLARE_CLASS( CTFBonesaw, CTFWeaponBaseMelee ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE();
CTFBonesaw() {} virtual void Activate( void ); virtual int GetWeaponID( void ) const { const CEconItemView *pEconItemView = GetAttributeContainer()->GetItem(); if ( !V_strcmp( pEconItemView->GetItemDefinition()->GetDefinitionName(), "Harvester" ) ) return TF_WEAPON_HARVESTER_SAW; return TF_WEAPON_BONESAW; }
virtual void SecondaryAttack();
virtual bool DefaultDeploy( char *szViewModel, char *szWeaponModel, int iActivity, char *szAnimExt ); int GetBonesawType( void ) const { int iMode = 0; CALL_ATTRIB_HOOK_INT( iMode, set_weapon_mode ); return iMode; };
virtual void DoMeleeDamage( CBaseEntity* ent, trace_t& trace ) OVERRIDE; float GetProgress( void ) { return 0; } int GetCount( void ); const char* GetEffectLabelText( void ) { return "#TF_ORGANS"; }
float GetBoneSawSpeedMod( void );
#ifdef CLIENT_DLL
virtual void OnDataChanged( DataUpdateType_t updateType ); void UpdateChargePoseParam( void ); virtual void GetPoseParameters( CStudioHdr *pStudioHdr, float poseParameter[MAXSTUDIOPOSEPARAM] ); virtual void UpdateAttachmentModels( void ); #endif
private:
#ifdef CLIENT_DLL
int m_iUberChargePoseParam; float m_flChargeLevel; #endif
CTFBonesaw( const CTFBonesaw & ) {} };
#endif // TF_WEAPON_BONESAW_H
|