Classes:Blood

From ZDoom Wiki
Jump to navigation Jump to search
Note: Wait! Stop! You do not need to copy this actor's code into your project! Here's why:
  1. This actor is already defined in GZDoom, there's no reason to define it again.
  2. In fact, trying to define an actor with the same name will cause an error (because it already exists).
  3. If you want to make your own version of this actor, use inheritance.
  4. Definitions for existing actors are put on the wiki for reference purpose only.
Blood splat
Actor type Gibs Game MiniZDoomLogoIcon.png (ZDoom)
DoomEd Number None Class Name Blood
Spawn ID 130 Identifier T_BLOOD


Classes: Blood
The blood splat actor is spawned when an actor is hit and is able to bleed. In IWADs other than Doom's, the blood sprites are actually named BLOD* and are renamed at load-time by ZDoom.

Note: Blood actors should not be confused with blood decals (the graphics drawn on top of walls when hitting bleeding actors.


Blood has special functionality hardcoded into the engine. The blood actor will start at different frames depending on how much damage is done that caused the bleeding.

  • If Damage is less then 9, the actor begins at the third state.
  • If Damage is between 9 to 12 (inclusive), it begins at the second state.
  • If Damage is above 12, it begins at the first state.
  • If the game is Strife, and damage is greater then 13, it shifts to the Spray state (if it exists), otherwise it adds 2 to the damage check for the previous checks.

If there's a need to spawn blood manually while accounting for all the above behaviors, use SpawnBlood in ZScript (this is not achievable in Decorate).

ZScript definition

Note: The ZScript definition below is for reference and may be different in the current version of UZDoom. The most up-to-date version of this code can be found on UZDoom GitHub.
class Blood : Actor
{
	Default
	{
		Mass 5;
		+NOBLOCKMAP
		+NOTELEPORT
		+ALLOWPARTICLES
	}
	States
	{
	Spawn:
		BLUD CBA 8;
		Stop;
	Spray:
		SPRY ABCDEF 3;
		SPRY G 2;
		Stop;
	}
}

DECORATE definition

Nuvolabomb.png Warning: This is legacy code, kept for archival purposes only. DECORATE was effectively deprecated with the introduction of ZScript. UZDoom internally uses the ZScript definition above.
ACTOR Blood
{
  Mass 5
  +NOBLOCKMAP
  +NOTELEPORT
  +ALLOWPARTICLES
  States
  {
  Spawn:
    BLUD CBA 8
    Stop
  Spray:
    SPRY ABCDEF 3
    SPRY G 2
    Stop
  }
}

See also