Ghost monster
From DoomWiki.org
- This article is about the bug in Doom II. For information about the Heretic monster type, see Ghosts (Heretic)
Ghost monsters are caused by a rare bug that occurs when a monster's corpse is crushed under a door or ceiling and then resurrected by an Arch-Vile. These ghosts behave like the monsters they formerly were, except that they can sometimes pass through walls and can usually only be harmed by splash damage, monster melee attacks, arch-vile attacks, and telefragging. It is also possible to harm one by hitting a specific, very narrow area at the base of its axis with a regular projectile attack, though this is extremely difficult.
This bug is fixed in nearly all source ports. However, some PWADs have used the ghost monster phenomenon as a feature. Boom and its close derivatives can be set to allow or disallow the creation of ghost monsters according to the user's preference.
In extremely rare cases, a memory overflow can occur which causes all Things, including players and monsters, to become ghosts. In deathmatch play, this phenomenon is termed the DM no-clipping bug.
Contents
Technical
The following code creates pools of blood:
P_SetMobjState (thing, S_GIBS); thing->flags &= ~MF_SOLID; thing->height = 0; thing->radius = 0;
The parameters are not restored upon resurrection, so all such pools of blood are potential ghosts if the original monster has a respawn sequence (a set of sprite pointers usually containing the frames of the death of the monster in reverse). Most monsters have one, with the Lost Soul, Arch-Vile and bosses being exceptions.
Notes
The Pain Elemental specifically has a respawn sequence, and yet in most cases leaves no corpse. The last part of the death animation points to frame 0 (blank) so there is nothing to resurrect, unless they are crushed, which means they are only resurrectable as ghosts.