Ghost monster

From DoomWiki.org

Revision as of 11:56, 24 August 2008 by Gez (talk | contribs) (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 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.

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.

In Heretic, there are ghost forms of monsters that were deliberately added by the developers. These monsters are translucent and can only be harmed by splash damage or magic-based weapons. This is unrelated to this bug &emdash; they are solid, and they do have a non-zero height and radius; instead they have a GHOST flag and projectiles with the THRUGHOST flag will harmlessly pass through them.

Demo

See also

External links