Ghost monster


 * 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 various source ports. However, some PWADs have used the ghost monster phenomenon as a feature, such as Requiem's MAP23: Hatred and Icarus: Alien Vanguard's MAP24: The Haunting. 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.

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, Cyberdemon, and Spider Mastermind being exceptions.