Difference between revisions of "Kill percentage flag used for -nomonsters and respawning"

From DoomWiki.org

[checked revision][checked revision]
(this article may not be 100 percent complete, but it isn't a stub anymore)
m (Fix headings)
Line 15: Line 15:
 
     }
 
     }
  
=== Commander Keen ===
+
== Commander Keen ==
 
The [[Commander Keen]] object, which only appears in [[vanilla Doom]] on [[MAP32: Grosse (Doom II)]], is tagged with MF_COUNTKILL. Deathmatching with the <tt>-nomonsters</tt> causes Keen not to appear. Because killing the four Keens is needed to expose the end to the level (via [[Tag 666]]), the level cannot be exited when using <tt>-nomonsters</tt>, unless one is also using the [[Parameter#-timer|<tt>-timer</tt>]] command.
 
The [[Commander Keen]] object, which only appears in [[vanilla Doom]] on [[MAP32: Grosse (Doom II)]], is tagged with MF_COUNTKILL. Deathmatching with the <tt>-nomonsters</tt> causes Keen not to appear. Because killing the four Keens is needed to expose the end to the level (via [[Tag 666]]), the level cannot be exited when using <tt>-nomonsters</tt>, unless one is also using the [[Parameter#-timer|<tt>-timer</tt>]] command.
  
=== Dead Simple ===
+
== Dead Simple ==
 
[[MAP07: Dead Simple (Doom II)]] has monsters that must be killed to access the exit, but has another exit that is only reachable via a [[deathmatch]] spawnspot, so can be exited. In addition, the normal exit can be accessed by [[rocket jumping]].
 
[[MAP07: Dead Simple (Doom II)]] has monsters that must be killed to access the exit, but has another exit that is only reachable via a [[deathmatch]] spawnspot, so can be exited. In addition, the normal exit can be accessed by [[rocket jumping]].
 
[[Category:Errors and bugs]]
 
[[Category:Errors and bugs]]
 
[[Category:Monsters]]
 
[[Category:Monsters]]

Revision as of 17:14, 13 April 2014

In the Doom source, the MF_COUNTKILL flag (used to calculate how many monsters are in a level, for the kill percentage) is also used to determine which monsters are hidden with the -nomonsters command line argument, and which monsters will respawn on Nightmare!. This has some unexpected consequences.

Lost souls

The lost soul monster had this flag removed for all versions of engine after Doom II was released. Likely, it was done to prevent the new pain elemental monster added in Doom II from overinflating the kill percentage.

As a consequence to this, lost souls do not respawn.

However, they are hidden with -nomonsters, due to a specific hack in P_MOBJ.C :

   // don't spawn any monsters if -nomonsters
   if (nomonsters
       && ( i == MT_SKULL
            || (mobjinfo[i].flags & MF_COUNTKILL)) )
   {
       return;
   }

Commander Keen

The Commander Keen object, which only appears in vanilla Doom on MAP32: Grosse (Doom II), is tagged with MF_COUNTKILL. Deathmatching with the -nomonsters causes Keen not to appear. Because killing the four Keens is needed to expose the end to the level (via Tag 666), the level cannot be exited when using -nomonsters, unless one is also using the -timer command.

Dead Simple

MAP07: Dead Simple (Doom II) has monsters that must be killed to access the exit, but has another exit that is only reachable via a deathmatch spawnspot, so can be exited. In addition, the normal exit can be accessed by rocket jumping.