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.

43 lines
2.3 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //=============================================================================//
  8. #ifndef EXPLODE_H
  9. #define EXPLODE_H
  10. #define SF_ENVEXPLOSION_NODAMAGE 0x00000001 // when set, ENV_EXPLOSION will not actually inflict damage
  11. #define SF_ENVEXPLOSION_REPEATABLE 0x00000002 // can this entity be refired?
  12. #define SF_ENVEXPLOSION_NOFIREBALL 0x00000004 // don't draw the fireball
  13. #define SF_ENVEXPLOSION_NOSMOKE 0x00000008 // don't draw the smoke
  14. #define SF_ENVEXPLOSION_NODECAL 0x00000010 // don't make a scorch mark
  15. #define SF_ENVEXPLOSION_NOSPARKS 0x00000020 // don't make sparks
  16. #define SF_ENVEXPLOSION_NOSOUND 0x00000040 // don't play explosion sound.
  17. #define SF_ENVEXPLOSION_RND_ORIENT 0x00000080 // randomly oriented sprites
  18. #define SF_ENVEXPLOSION_NOFIREBALLSMOKE 0x0100
  19. #define SF_ENVEXPLOSION_NOPARTICLES 0x00000200
  20. #define SF_ENVEXPLOSION_NODLIGHTS 0x00000400
  21. #define SF_ENVEXPLOSION_NOCLAMPMIN 0x00000800 // don't clamp the minimum size of the fireball sprite
  22. #define SF_ENVEXPLOSION_NOCLAMPMAX 0x00001000 // don't clamp the maximum size of the fireball sprite
  23. #define SF_ENVEXPLOSION_SURFACEONLY 0x00002000 // don't damage the player if he's underwater.
  24. #define SF_ENVEXPLOSION_GENERIC_DAMAGE 0x00004000 // don't do BLAST damage
  25. extern short g_sModelIndexFireball;
  26. extern short g_sModelIndexSmoke;
  27. void ExplosionCreate( const Vector &center, const QAngle &angles,
  28. CBaseEntity *pOwner, int magnitude, int radius, bool doDamage, float flExplosionForce = 0.0f, bool bSurfaceOnly = false, bool bSilent = false, int iCustomDamageType = -1 );
  29. void ExplosionCreate( const Vector &center, const QAngle &angles,
  30. CBaseEntity *pOwner, int magnitude, int radius, int nSpawnFlags,
  31. float flExplosionForce = 0.0f, CBaseEntity *pInflictor = NULL, int iCustomDamageType = -1, const EHANDLE *ignoredEntity = NULL, Class_T ignoredClass = CLASS_NONE);
  32. // this version lets you specify classes or entities to be ignored
  33. void ExplosionCreate( const Vector &center, const QAngle &angles,
  34. CBaseEntity *pOwner, int magnitude, int radius, bool doDamage,
  35. const EHANDLE *ignoredEntity, Class_T ignoredClass,
  36. float flExplosionForce = 0.0f, bool bSurfaceOnly = false, bool bSilent = false, int iCustomDamageType = -1 );
  37. #endif //EXPLODE_H