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.
60 lines
1.7 KiB
60 lines
1.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Base code for any melee based weapon |
|
// |
|
//=====================================================================================// |
|
|
|
#ifndef SDK_WEAPON_MELEE_H |
|
#define SDK_WEAPON_MELEE_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
#if defined( CLIENT_DLL ) |
|
#define CWeaponSDKMelee C_WeaponSDKMelee |
|
#endif |
|
|
|
//========================================================= |
|
// CBaseHLBludgeonWeapon |
|
//========================================================= |
|
class CWeaponSDKMelee : public CWeaponSDKBase |
|
{ |
|
DECLARE_CLASS( CWeaponSDKMelee, CWeaponSDKBase ); |
|
public: |
|
CWeaponSDKMelee(); |
|
|
|
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 GetRange( void ) { return 32.0f; } |
|
virtual float GetDamageForActivity( Activity hitActivity ) { return GetSDKWpnData().m_iDamage; } |
|
|
|
CWeaponSDKMelee( const CWeaponSDKMelee & ); |
|
|
|
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, CSDKPlayer *pOwner ); |
|
}; |
|
|
|
|
|
#endif // SDK_WEAPON_MELEE_H
|