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.
66 lines
1.9 KiB
66 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: The class from which all bludgeon melee |
|
// weapons are derived. |
|
// |
|
// $Workfile: $ |
|
// $Date: $ |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "weapon_hl2mpbasehlmpcombatweapon.h" |
|
|
|
#ifndef BASEBLUDGEONWEAPON_H |
|
#define BASEBLUDGEONWEAPON_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
#if defined( CLIENT_DLL ) |
|
#define CBaseHL2MPBludgeonWeapon C_BaseHL2MPBludgeonWeapon |
|
#endif |
|
|
|
//========================================================= |
|
// CBaseHLBludgeonWeapon |
|
//========================================================= |
|
class CBaseHL2MPBludgeonWeapon : public CBaseHL2MPCombatWeapon |
|
{ |
|
DECLARE_CLASS( CBaseHL2MPBludgeonWeapon, CBaseHL2MPCombatWeapon ); |
|
public: |
|
CBaseHL2MPBludgeonWeapon(); |
|
|
|
DECLARE_NETWORKCLASS(); |
|
DECLARE_PREDICTABLE(); |
|
|
|
virtual void Spawn( void ); |
|
virtual void Precache( void ); |
|
|
|
//Attack functions |
|
virtual void PrimaryAttack( void ); |
|
virtual void SecondaryAttack( void ); |
|
|
|
virtual void ItemPostFrame( void ); |
|
|
|
//Functions to select animation sequences |
|
virtual Activity GetPrimaryAttackActivity( void ) { return ACT_VM_HITCENTER; } |
|
virtual Activity GetSecondaryAttackActivity( void ) { return ACT_VM_HITCENTER2; } |
|
|
|
virtual float GetFireRate( void ) { return 0.2f; } |
|
virtual float GetRange( void ) { return 32.0f; } |
|
virtual float GetDamageForActivity( Activity hitActivity ) { return 1.0f; } |
|
|
|
CBaseHL2MPBludgeonWeapon( const CBaseHL2MPBludgeonWeapon & ); |
|
|
|
protected: |
|
virtual void ImpactEffect( trace_t &trace ); |
|
|
|
private: |
|
bool ImpactWater( const Vector &start, const Vector &end ); |
|
void Swing( int bIsSecondary ); |
|
void Hit( trace_t &traceHit, Activity nHitActivity ); |
|
Activity ChooseIntersectionPointAndActivity( trace_t &hitTrace, const Vector &mins, const Vector &maxs, CBasePlayer *pOwner ); |
|
}; |
|
|
|
#endif |