Doom Wiki
m (wiki)
Line 3: Line 3:
 
== Relevant maps ==
 
== Relevant maps ==
   
Tag 666 can be used in [[:Category:E1M8|E1M8]], [[:Category:E2M8|E2M8]], [[:Category:E3M8|E3M8]] of [[Doom]]; [[:Category:E4M6|E4M6]] and [[:Category:E4M8|E4M8]] of [[Ultimate Doom]]; [[MAP07]] and [[MAP32]] of [[Doom II]].
+
Tag 666 can be used in [[:Category:E1M8|E1M8]], [[:Category:E2M8|E2M8]], [[:Category:E3M8|E3M8]] of [[Doom]]; [[:Category:E4M6|E4M6]] and [[:Category:E4M8|E4M8]] of [[Ultimate Doom]]; [[:Category:MAP07|MAP07]] and [[:Category:MAP32|MAP32]] of [[Doom II]].
   
 
== Procedures ==
 
== Procedures ==
Line 14: Line 14:
 
== Bugs ==
 
== Bugs ==
   
The behaviour of tag 666 changed with the release of [[Ultimate Doom]]. A constraint was added which restricted tag 666 on [[E1M8]] to triggering only on the death of the last [[Baron of Hell]], rather than the death of any last boss monster. The classic [[PWAD]] [[Doomsday of UAC]] relied upon the deaths of the last Baron and the last [[Cyberdemon]] to trigger it, making the PWAD unplayable in modern [[source ports]].
+
The behaviour of tag 666 changed with the release of [[Ultimate Doom]]. A constraint was added which restricted tag 666 on [[:Category:E1M8|E1M8]] to triggering only on the death of the last [[Baron of Hell]], rather than the death of any last boss monster. The classic [[PWAD]] [[Doomsday of UAC]] relied upon the deaths of the last Baron and the last [[Cyberdemon]] to trigger it, making the PWAD unplayable in modern [[source ports]].
   
 
Specifically, the following code is responsible (lines 2096 to 2104 in [[prBoom]] 2.2.6):
 
Specifically, the following code is responsible (lines 2096 to 2104 in [[prBoom]] 2.2.6):

Revision as of 01:48, 3 October 2005

Tag 666 is a special tag number used to denote map-specific behaviour. Tag 666 is invoked not by crossing a linedef, but by killing monsters. The specific behaviour is defined in p_enemy.c.

Relevant maps

Tag 666 can be used in E1M8, E2M8, E3M8 of Doom; E4M6 and E4M8 of Ultimate Doom; MAP07 and MAP32 of Doom II.

Procedures

void A_KeenDie(mobj_t* mo)

This procedure is called by the death of each Commander Keen present in the level. When the last Keen dies, doors tagged 666 are opened. This procedure was used as part of an easter egg in MAP32 of Doom II.

void A_BossDeath(mobj_t *mo)

This procedure is called by the death of a boss monster. However, it only takes effect if the monster is the last of its type on the level. There are additional restrictions which differ depending on the game and level.

Bugs

The behaviour of tag 666 changed with the release of Ultimate Doom. A constraint was added which restricted tag 666 on E1M8 to triggering only on the death of the last Baron of Hell, rather than the death of any last boss monster. The classic PWAD Doomsday of UAC relied upon the deaths of the last Baron and the last Cyberdemon to trigger it, making the PWAD unplayable in modern source ports.

Specifically, the following code is responsible (lines 2096 to 2104 in prBoom 2.2.6):

    switch(gameepisode)
       {
       case 1:
         if (gamemap != 8)
           return;

/* */    if (mo->type != MT_BRUISER)
/* */      return; 
         break;

The lines marked /* */ define this constraint.

See also