Difference between revisions of "Ghost monster"

From DoomWiki.org

[unchecked revision][unchecked revision]
m (Notes)
(Tweaks. Removed Heretic ghost info (separate phenomenon with own article linked at top))
Line 1: Line 1:
 
: ''This article is about the bug in [[Doom II]]. For information about the Heretic monster type, see [[Ghosts (Heretic)]]''
 
: ''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 [[telefrag]]ging. 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.
+
A '''ghost monster''' is a monster with unusual properties. This is caused by a rare [[|engine bug|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 still behaves like before being killed, except that it takes some of the properties of the pool of gore. When moving, these properties allow it to move through walls to [[sector]]s 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 [[telefrag]]ging. 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 (equal to the height of a small pool of gore) at the base of its axis with a regular [[projectile]] attack, although this is very difficult to achieve.
  
This bug is fixed in various [[source port]]s.  However, some [[PWAD]]s have used the ghost monster phenomenon as a feature, such as [[Requiem]]'s [[MAP23: Hatred (Requiem)|MAP23: Hatred]] and [[Icarus: Alien Vanguard]]'s [[MAP24: The Haunting (Icarus: Alien Vanguard)|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.
+
Some [[PWAD]]s have used the ghost monster phenomenon as a feature, such as [[Requiem]]'s [[MAP23: Hatred (Requiem)|MAP23: Hatred]] and [[Icarus: Alien Vanguard]]'s [[MAP24: The Haunting (Icarus: Alien Vanguard)|MAP24: The Haunting]].   
  
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''.
+
As with many 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''.
  
 
==Technical==
 
==Technical==
The following code creates pools of blood:
+
The following code creates small pools of gore:
 
<pre>
 
<pre>
 
P_SetMobjState (thing, S_GIBS);
 
P_SetMobjState (thing, S_GIBS);
Line 17: Line 19:
 
</pre>
 
</pre>
  
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.
+
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==
 
==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.
+
* 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.
 
 
In [[Heretic]], there are [[Ghosts (Heretic)|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==
 
==Demo==

Revision as of 14:46, 24 August 2008

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 properties. This is caused by a rare [[|engine bug|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 still behaves like before being killed, except that it takes some of the properties of the pool of gore. When moving, these properties allow it to move 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 (equal to the height of a small pool of gore) 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 and Icarus: Alien Vanguard's MAP24: The Haunting.

As with many 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.

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