Team Fortress 2 Source Code as on 22/4/2020
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.

84 lines
1.6 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Projectile shot from the AR2
  4. //
  5. // $Workfile: $
  6. // $Date: $
  7. //
  8. //-----------------------------------------------------------------------------
  9. // $Log: $
  10. //
  11. // $NoKeywords: $
  12. //=============================================================================//
  13. #ifndef WEAPONAR2_H
  14. #define WEAPONAR2_H
  15. #include "basegrenade_shared.h"
  16. #include "weapon_hl2mpbase_machinegun.h"
  17. #ifdef CLIENT_DLL
  18. #define CWeaponAR2 C_WeaponAR2
  19. #endif
  20. class CWeaponAR2 : public CHL2MPMachineGun
  21. {
  22. public:
  23. DECLARE_CLASS( CWeaponAR2, CHL2MPMachineGun );
  24. CWeaponAR2();
  25. DECLARE_NETWORKCLASS();
  26. DECLARE_PREDICTABLE();
  27. void ItemPostFrame( void );
  28. void Precache( void );
  29. void SecondaryAttack( void );
  30. void DelayedAttack( void );
  31. const char *GetTracerType( void ) { return "AR2Tracer"; }
  32. void AddViewKick( void );
  33. int GetMinBurst( void ) { return 2; }
  34. int GetMaxBurst( void ) { return 5; }
  35. float GetFireRate( void ) { return 0.1f; }
  36. bool CanHolster( void );
  37. bool Reload( void );
  38. Activity GetPrimaryAttackActivity( void );
  39. void DoImpactEffect( trace_t &tr, int nDamageType );
  40. virtual bool Deploy( void );
  41. virtual const Vector& GetBulletSpread( void )
  42. {
  43. static Vector cone;
  44. cone = VECTOR_CONE_3DEGREES;
  45. return cone;
  46. }
  47. const WeaponProficiencyInfo_t *GetProficiencyValues();
  48. private:
  49. CWeaponAR2( const CWeaponAR2 & );
  50. protected:
  51. float m_flDelayedFire;
  52. bool m_bShotDelayed;
  53. int m_nVentPose;
  54. #ifndef CLIENT_DLL
  55. DECLARE_ACTTABLE();
  56. #endif
  57. };
  58. #endif //WEAPONAR2_H