Difference between revisions of "Ghost monster"

From DoomWiki.org

[unchecked revision][unchecked revision]
(add Hell Revealed's Map 26 and Plutonia 2's Map 32)
Line 7: Line 7:
 
As with many [[Doom engine]] bugs, this one is fixed in various [[source port]]s, although in some of those it can optionally be enabled.
 
As with many [[Doom engine]] bugs, this one is fixed in various [[source port]]s, although in some of those it can optionally be enabled.
  
In extremely rare cases, a memory overflow can occur which causes all [[thing]]s, including [[player]]s and monsters, to become ghosts.  In [[deathmatch]] play, this phenomenon is termed the ''DM no-clipping bug''.
+
In extremely rare cases, a memory overflow can occur which causes all [[thing]]s, including [[player]]s and monsters, to become ghosts.  In [[deathmatch]] play, this phenomenon is termed the ''DM no-clipping bug''. Once such way to cause this is when a hitscan attack, including BFG tracers, crosses over more than 128 linedefs/things at once.  
  
 
==Technical==
 
==Technical==

Revision as of 12:39, 9 March 2009

This article is about the bug in Doom II. For information about the Heretic monster type, see Ghosts (Heretic)

A ghost monster is a monster with unusual ghost-like properties. This is caused by a rare bug that occurs when the monster's corpse becomes a small pool of gore by being crushed under a door or ceiling and is then resurrected by an arch-vile. The ghost monster looks normal and still behaves like before being killed, except that it retains some of the properties of the pool of gore it had become. When moving, these properties allow it to pass through walls to sectors that are equal to or lesser in height in respect to the one it occupies. As far as combat is concerned, the ghost monster can usually only be harmed by splash damage, monster melee attacks, arch-vile attacks, and telefragging. Nonetheless, since its near-immunity to some attacks occurs because it cannot be aimed at, it is possible to harm it by hitting a specific, very narrow area at the base of its axis with a regular projectile attack, although this is very difficult to achieve.

Some PWADs have used the ghost monster phenomenon as a feature, such as Requiem's MAP23: Hatred, Icarus: Alien Vanguard's MAP24: The Haunting, Hell Revealed's MAP26: Afterlife and Plutonia 2's Map 32: Go 4 It.

As with many Doom engine bugs, this one is fixed in various source ports, although in some of those it can optionally be enabled.

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. Once such way to cause this is when a hitscan attack, including BFG tracers, crosses over more than 128 linedefs/things at once.

Technical

The following code creates small pools of gore:

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 resurrection 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 spiderdemon being exceptions.

Notes

  • The pain elemental specifically has a resurrection sequence, yet normally leaves no corpse to resurrect. If one is crushed to death or while dying, however, a pool of gore is generated. This means pain elementals can only be resurrected as ghosts.

Demo

See also

External links