Counter Strike : Global Offensive Source Code
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.

62 lines
1.8 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================//
  6. #include "basecombatweapon_shared.h"
  7. #ifndef BASEHLCOMBATWEAPON_SHARED_H
  8. #define BASEHLCOMBATWEAPON_SHARED_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #if defined( CLIENT_DLL )
  13. #define CBaseHLCombatWeapon C_BaseHLCombatWeapon
  14. #endif
  15. class CBaseHLCombatWeapon : public CBaseCombatWeapon
  16. {
  17. #if !defined( CLIENT_DLL )
  18. DECLARE_DATADESC();
  19. #endif
  20. DECLARE_CLASS( CBaseHLCombatWeapon, CBaseCombatWeapon );
  21. public:
  22. DECLARE_NETWORKCLASS();
  23. DECLARE_PREDICTABLE();
  24. virtual bool WeaponShouldBeLowered( void );
  25. bool CanLower();
  26. virtual bool Ready( void );
  27. virtual bool Lower( void );
  28. virtual bool Deploy( void );
  29. virtual bool Holster( CBaseCombatWeapon *pSwitchingTo );
  30. virtual void WeaponIdle( void );
  31. virtual bool SendWeaponAnim( int iActivity );
  32. virtual void AddViewmodelBob( CBaseViewModel *viewmodel, Vector &origin, QAngle &angles );
  33. virtual float CalcViewmodelBob( void );
  34. virtual Vector GetBulletSpread( WeaponProficiency_t proficiency );
  35. virtual float GetSpreadBias( WeaponProficiency_t proficiency );
  36. virtual const WeaponProficiencyInfo_t *GetProficiencyValues();
  37. static const WeaponProficiencyInfo_t *GetDefaultProficiencyValues();
  38. virtual void ItemHolsterFrame( void );
  39. virtual bool IsSpecialSuitAbility( void ); // Weapon can be used as a suit ability
  40. int m_iPrimaryAttacks; // # of primary attacks performed with this weapon
  41. int m_iSecondaryAttacks; // # of secondary attacks performed with this weapon
  42. protected:
  43. bool m_bLowered; // Whether the viewmodel is raised or lowered
  44. float m_flRaiseTime; // If lowered, the time we should raise the viewmodel
  45. float m_flHolsterTime; // When the weapon was holstered
  46. };
  47. #endif // BASEHLCOMBATWEAPON_SHARED_H