Ghost monster

From DoomWiki.org

Revision as of 22:14, 9 November 2006 by 193.10.185.3 (talk) (Notes)


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.

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.

See also

External links