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.

52 lines
1.4 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose: Projectile shot by wasteland scanner
  4. //
  5. // $Workfile: $
  6. // $Date: $
  7. //
  8. //-----------------------------------------------------------------------------
  9. // $Log: $
  10. //
  11. // $NoKeywords: $
  12. //=============================================================================//
  13. #ifndef GRENADEPATHFOLLOWER_H
  14. #define GRENADEPATHFOLLOWER_H
  15. #include "basegrenade_shared.h"
  16. class RocketTrail;
  17. class CGrenadePathfollower : public CBaseGrenade
  18. {
  19. public:
  20. DECLARE_CLASS( CGrenadePathfollower, CBaseGrenade );
  21. static CGrenadePathfollower* CreateGrenadePathfollower( string_t sModelName, string_t sFlySound, const Vector &vecOrigin, const QAngle &vecAngles, edict_t *pentOwner );
  22. CHandle<RocketTrail> m_hRocketTrail;
  23. CBaseEntity* m_pPathTarget; // path corner we are heading towards
  24. float m_flFlySpeed;
  25. string_t m_sFlySound;
  26. float m_flNextFlySoundTime;
  27. Class_T Classify( void);
  28. void Spawn( void );
  29. void AimThink( void );
  30. void GrenadeTouch( CBaseEntity *pOther );
  31. void Event_Killed( const CTakeDamageInfo &info );
  32. void Launch( float flLaunchSpeed, string_t sPathCornerName);
  33. void PlayFlySound(void);
  34. void EXPORT Detonate(void);
  35. CGrenadePathfollower(void);
  36. ~CGrenadePathfollower(void);
  37. virtual void Precache();
  38. DECLARE_DATADESC();
  39. };
  40. #endif //GRENADEPATHFOLLOWER_H