63 lines
1.7 KiB
C++
63 lines
1.7 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
#ifndef WEAPON_BASEHL2MPCOMBATWEAPON_SHARED_H
|
|
#define WEAPON_BASEHL2MPCOMBATWEAPON_SHARED_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifdef CLIENT_DLL
|
|
#include "c_hl2mp_player.h"
|
|
#else
|
|
#include "hl2mp_player.h"
|
|
#endif
|
|
|
|
#include "weapon_hl2mpbase.h"
|
|
|
|
#if defined(CLIENT_DLL)
|
|
#define CBaseHL2MPCombatWeapon C_BaseHL2MPCombatWeapon
|
|
#endif
|
|
|
|
class CBaseHL2MPCombatWeapon : public CWeaponHL2MPBase {
|
|
#if !defined(CLIENT_DLL)
|
|
DECLARE_DATADESC();
|
|
#endif
|
|
|
|
DECLARE_CLASS(CBaseHL2MPCombatWeapon, CWeaponHL2MPBase);
|
|
|
|
public:
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
|
|
CBaseHL2MPCombatWeapon();
|
|
|
|
virtual bool WeaponShouldBeLowered(void);
|
|
|
|
virtual bool Ready(void);
|
|
virtual bool Lower(void);
|
|
virtual bool Deploy(void);
|
|
virtual bool Holster(CBaseCombatWeapon *pSwitchingTo);
|
|
virtual void WeaponIdle(void);
|
|
|
|
virtual void AddViewmodelBob(CBaseViewModel *viewmodel, Vector &origin,
|
|
QAngle &angles);
|
|
virtual float CalcViewmodelBob(void);
|
|
|
|
virtual Vector GetBulletSpread(WeaponProficiency_t proficiency);
|
|
virtual float GetSpreadBias(WeaponProficiency_t proficiency);
|
|
|
|
virtual const WeaponProficiencyInfo_t *GetProficiencyValues();
|
|
static const WeaponProficiencyInfo_t *GetDefaultProficiencyValues();
|
|
|
|
virtual void ItemHolsterFrame(void);
|
|
|
|
protected:
|
|
bool m_bLowered; // Whether the viewmodel is raised or lowered
|
|
float m_flRaiseTime; // If lowered, the time we should raise the viewmodel
|
|
float m_flHolsterTime; // When the weapon was holstered
|
|
|
|
private:
|
|
CBaseHL2MPCombatWeapon(const CBaseHL2MPCombatWeapon &);
|
|
};
|
|
|
|
#endif // WEAPON_BASEHL2MPCOMBATWEAPON_SHARED_H
|