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 nearly all source ports. However, some PWADs have used the ghost monster phenomenon as a feature, such as Requiem's MAP23 and Icarus's MAP24. 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.