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.

50 lines
1.8 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // TF Nail Projectile
  4. //
  5. //=============================================================================
  6. #ifndef TF_PROJECTILE_NAIL_H
  7. #define TF_PROJECTILE_NAIL_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "cbase.h"
  12. #include "tf_projectile_base.h"
  13. #include "tf_weaponbase_gun.h"
  14. //-----------------------------------------------------------------------------
  15. // Purpose: Identical to a nail except for model used
  16. //-----------------------------------------------------------------------------
  17. class CTFProjectile_Syringe : public CTFBaseProjectile
  18. {
  19. DECLARE_CLASS( CTFProjectile_Syringe, CTFBaseProjectile );
  20. public:
  21. // Creation.
  22. static CTFBaseProjectile *Create( const Vector &vecOrigin, const QAngle &vecAngles, CTFWeaponBaseGun *pLauncher = NULL, CBaseEntity *pOwner = NULL, CBaseEntity *pScorer = NULL, bool bCritical = false );
  23. virtual unsigned int PhysicsSolidMaskForEntity( void ) const;
  24. virtual const char *GetProjectileModelName( void ) { return "models/weapons/w_models/w_syringe_proj.mdl"; }
  25. virtual float GetGravity( void );
  26. };
  27. #ifdef STAGING_ONLY
  28. //-----------------------------------------------------------------------------
  29. class CTFProjectile_Tranq : public CTFProjectile_Syringe
  30. {
  31. DECLARE_CLASS( CTFProjectile_Tranq, CTFProjectile_Syringe );
  32. public:
  33. // Creation.
  34. static CTFBaseProjectile *Create( const Vector &vecOrigin, const QAngle &vecAngles, CTFWeaponBaseGun *pLauncher = NULL, CBaseEntity *pOwner = NULL, CBaseEntity *pScorer = NULL, bool bCritical = false );
  35. virtual const char *GetProjectileModelName( void ) { return "models/weapons/w_models/w_syringe_proj.mdl"; }
  36. virtual float GetGravity( void );
  37. #ifdef GAME_DLL
  38. virtual void ProjectileTouch( CBaseEntity *pOther );
  39. #endif // GAME_DLL
  40. };
  41. #endif // STAGING_ONLY
  42. #endif //TF_PROJECTILE_NAIL_H