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.

79 lines
1.8 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 "basehlcombatweapon.h"
  17. class CWeaponAR2 : public CHLMachineGun
  18. {
  19. public:
  20. DECLARE_CLASS( CWeaponAR2, CHLMachineGun );
  21. CWeaponAR2();
  22. DECLARE_SERVERCLASS();
  23. void ItemPostFrame( void );
  24. void Precache( void );
  25. void SecondaryAttack( void );
  26. void DelayedAttack( void );
  27. const char *GetTracerType( void ) { return "AR2Tracer"; }
  28. void AddViewKick( void );
  29. void FireNPCPrimaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles );
  30. void FireNPCSecondaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles );
  31. void Operator_ForceNPCFire( CBaseCombatCharacter *pOperator, bool bSecondary );
  32. void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator );
  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. int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; }
  39. Activity GetPrimaryAttackActivity( void );
  40. void DoImpactEffect( trace_t &tr, int nDamageType );
  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. protected:
  49. float m_flDelayedFire;
  50. bool m_bShotDelayed;
  51. int m_nVentPose;
  52. DECLARE_ACTTABLE();
  53. DECLARE_DATADESC();
  54. };
  55. #endif //WEAPONAR2_H