This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/game/shared/hl2mp/weapon_hl2mpbasehlmpcombatweapon.h
2020-08-04 13:13:01 -04:00

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