57 lines
1.4 KiB
C++
57 lines
1.4 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================//
|
|
|
|
#ifndef WEAPON_STUNSTICK_H
|
|
#define WEAPON_STUNSTICK_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "basebludgeonweapon.h"
|
|
|
|
#define STUNSTICK_RANGE 75.0f
|
|
#define STUNSTICK_REFIRE 0.6f
|
|
|
|
class CWeaponStunStick : public CBaseHLBludgeonWeapon {
|
|
DECLARE_CLASS(CWeaponStunStick, CBaseHLBludgeonWeapon);
|
|
DECLARE_DATADESC();
|
|
|
|
public:
|
|
CWeaponStunStick();
|
|
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_ACTTABLE();
|
|
|
|
virtual void Precache();
|
|
|
|
void Spawn();
|
|
|
|
float GetRange(void) { return STUNSTICK_RANGE; }
|
|
float GetFireRate(void) { return STUNSTICK_REFIRE; }
|
|
|
|
int WeaponMeleeAttack1Condition(float flDot, float flDist);
|
|
|
|
bool Deploy(void);
|
|
bool Holster(CBaseCombatWeapon *pSwitchingTo = NULL);
|
|
|
|
void Drop(const Vector &vecVelocity);
|
|
void ImpactEffect(trace_t &traceHit);
|
|
void SecondaryAttack(void) {}
|
|
void SetStunState(bool state);
|
|
bool GetStunState(void);
|
|
void Operator_HandleAnimEvent(animevent_t *pEvent,
|
|
CBaseCombatCharacter *pOperator);
|
|
|
|
float GetDamageForActivity(Activity hitActivity);
|
|
|
|
bool CanBePickedUpByNPCs(void) { return false; }
|
|
|
|
private:
|
|
CNetworkVar(bool, m_bActive);
|
|
};
|
|
|
|
#endif // WEAPON_STUNSTICK_H
|