Tag 667

From DoomWiki.org

Tag 667, closely related to tag 666, is used on Doom II's MAP07 in conjunction with the arachnotron. This is the relevant code (from p_enemy.c, lines 1722-1727 in the Doom source code release):

if (mo->type == MT_BABY)
{
  junk.tag = 667;
  EV_DoFloor(&junk,raiseToTexture);
  return;
}

When the last arachnotron dies, any sector tagged with the number 667 is raised up by the height of the shortest lower texture of any of that sector's sidedefs.

Tag 667 is also used in Strife. Killing all crusaders on any map will cause all sectors tagged 667 to lower their floors to the lowest surrounding floor. This effect is used in MAP33: Town in the demo version, in MAP09: Castle: Programmer's Keep and MAP25: Catacombs: Ruined Temple in the registered version, and in MAP35: Factory: Production in the Veteran Edition. At least one player must currently be alive for this to happen.

Bugs[edit]

If one of the sidedefs of the sector with the 667 tag has the "-" empty texture for a lower texture, the height of the first dummy entry in the texture list is used. In DOOM2.WAD it is AASHITTY, thus the sector is raised by 64 units. This can produce effects unexpected by the map's designer if they are not aware of this particular quirk of the Doom engine.

This bug was fixed in Boom, which ignores sidedefs with the "-" texture in its implementation of the "raise by shortest lower texture" function. One side effect of the change is that maps utilizing tag 667 may not work as expected in vanilla-compatible engines or emulation modes, if these maps are tested only in engines that have adopted Boom's fix. MAP07 from Armadosia: The Mad Corridor is one notable example.

Sometimes, if the last two arachnotrons on MAP07: Dead Simple are killed such that the last one dies before the death animation for the first one has finished, the step to the exit switch rises twice, placing it too high for the player to step onto. The level can still be completed by straferunning to the step from one of the square metal platforms, if lowered.

This bug occurs because a monster is considered dead to the source code at the beginning of its death sequence (its health is less than or equal to zero), but A_BossDeath is triggered at the end. Therefore, there is a short window where an arachnotron at the end of its death sequence could erroneously be considered the last arachnotron if the 'real' last arachnotron is still in the middle of its death sequence.

In addition, if the level is played with respawning monsters enabled, either through use of a command line argument or during play on Nightmare! difficulty, killing every arachnotron that respawns after the whole group is killed for the first time will cause the step to rise up another time, resulting in the same effect. Unlike the above, this can be done repeatedly, which will eventually cause the step to rise up to the sky. The inner sides of the step are untextured; if the player raises the step high enough in this fashion while standing on the exit platform, they will be able to see through the newly created walls, providing a view of the courtyard while remaining hidden from the enemy.

Demo files[edit]

See also[edit]