|
static Vector3f | AbsoluteToRelative (const Vector3f a_Position, const cChunkCoords a_ChunkPosition) |
| Converts an absolute floating-point Position into a Chunk-relative one. More...
|
|
static bool | BlockAlwaysDrops (const BLOCKTYPE a_Block) |
| Returns true if block should always drop when exploded. More...
|
|
static float | CalculateEntityExposure (const cChunk &a_Chunk, const cEntity &a_Entity, const Vector3f a_Position, const int a_SquareRadius) |
| Calculates the approximate percentage of an Entity's bounding box that is exposed to an explosion centred at Position. More...
|
|
static void | DamageBlocks (cChunk &a_Chunk, const Vector3f a_Position, const int a_Power, const bool a_Fiery, const cEntity *const a_ExplodingEntity) |
| Sends out Explosion Lazors (tm) originating from the given position that destroy blocks. More...
|
|
static void | DamageEntities (const cChunk &a_Chunk, const Vector3f a_Position, const int a_Power) |
| Applies distance-based damage and knockback to all entities within the explosion's effect range. More...
|
|
static void | DestroyBlock (cChunk &a_Chunk, const Vector3i a_Position, const int a_Power, const bool a_Fiery, const cEntity *const a_ExplodingEntity) |
| Work out what should happen when an explosion destroys the given block. More...
|
|
static void | DestructionTrace (cChunk *a_Chunk, Vector3f a_Origin, const Vector3f a_Direction, const int a_Power, const bool a_Fiery, float a_Intensity, const cEntity *const a_ExplodingEntity) |
| Traces the path taken by one Explosion Lazor (tm) with given direction and intensity, that will destroy blocks until it is exhausted. More...
|
|
static float | GetExplosionAbsorption (const BLOCKTYPE Block) |
| Returns how much of an explosion Destruction Lazor's (tm) intensity the given block attenuates. More...
|
|
void | Kaboom (cWorld &World, Vector3f Position, int Power, bool Fiery, const cEntity *a_ExplodingEntity) |
| Creates an explosion of Power, centred at Position, with ability to set fires as provided. More...
|
|
static void | LagTheClient (cChunk &a_Chunk, const Vector3f a_Position, const int a_Power) |
| Sends an explosion packet to all clients in the given chunk. More...
|
|
static float | RandomIntensity (MTRand &a_Random, const int a_Power) |
| Returns a random intensity for an Explosion Lazor (tm) as a function of the explosion's power. More...
|
|
static Vector3f | RebaseRelativePosition (const cChunkCoords a_From, const cChunkCoords a_To, const Vector3f a_Position) |
| Make a From Chunk-relative Position into a To Chunk-relative position. More...
|
|
static void | SetBlock (cWorld &a_World, cChunk &a_Chunk, const Vector3i a_AbsolutePosition, const Vector3i a_RelativePosition, const BLOCKTYPE a_DestroyedBlock, const BLOCKTYPE a_NewBlock, const cEntity *const a_ExplodingEntity) |
| Sets the block at the given position, updating surroundings. More...
|
|
void Explodinator::Kaboom |
( |
cWorld & |
World, |
|
|
Vector3f |
Position, |
|
|
int |
Power, |
|
|
bool |
Fiery, |
|
|
const cEntity * |
a_ExplodingEntity |
|
) |
| |
Creates an explosion of Power, centred at Position, with ability to set fires as provided.
For maximum efficiency, Position should be in the centre of the entity or block that exploded. The entity pointer is used to trigger OnBreak for the destroyed blocks. Kaboom indeed, you drunken wretch.
Definition at line 432 of file Explodinator.cpp.