Difference between revisions of "Talk:Tag 666"

From DoomWiki.org

(Crusher quirk)
(Blazing doors?: new section)
Line 78: Line 78:
 
:This behavior of interrupting the normal death sequence is what allows [[ghost monster|ghost]] [[pain elemental]]s to exist.
 
:This behavior of interrupting the normal death sequence is what allows [[ghost monster|ghost]] [[pain elemental]]s to exist.
 
:ZDoom fixed this bug by giving monsters which call A_BossDeath a "BOSSDEATH" flag which is checked in the equivalent actor crunching function. If it reaches a dying monster this way, it calls A_BossDeath then. --[[User:Gez|Gez]] 10:15, 24 April 2012 (UTC)
 
:ZDoom fixed this bug by giving monsters which call A_BossDeath a "BOSSDEATH" flag which is checked in the equivalent actor crunching function. If it reaches a dying monster this way, it calls A_BossDeath then. --[[User:Gez|Gez]] 10:15, 24 April 2012 (UTC)
 +
 +
== Blazing doors? ==
 +
 +
Once all the Keens on a level have been killed, all sectors tagged 666 will open as blazing doors.
 +
 +
On MAP32 (Grosse) after killing all Keens the exit sector opens as an ordinary door, but not as a blazing one.

Revision as of 10:48, 29 April 2017

My memory is not what it once was, but in very early vanilla versions, didn't this trigger kill all remaining monsters on the level as well?    Ryan W 22:30, 5 February 2007 (UTC)

When you kill D'Sparil in Heretic the rest of the monsters die. That's about all I know... oTHErONE (Contribs) 04:27, 6 February 2007 (UTC)

Compatibility issues

A constraint was added which restricted tag 666 on E1M8 to triggering only on the death of the last Baron, rather than the death of any last boss monster.

The change was actually broader than this: [1].  Not sure how to confirm this in the code, since by definition the source release does not pertain to pre-Ultimate behavior.    Ryan W 23:39, March 26, 2010 (UTC)

Crusher quirk

I have a note here that if the last monster is killed by a crusher, tags 666/667 do not trigger, because the blood pool replaces the final death frame.  Now I can't find a reference, though... can anyone corroborate?    Ryan W 03:59, 24 April 2012 (UTC)

That'd be this function:
//
// PIT_ChangeSector
//
boolean PIT_ChangeSector (mobj_t*	thing)
{
    mobj_t*	mo;
	
    if (P_ThingHeightClip (thing))
    {
	// keep checking
	return true;
    }
    

    // crunch bodies to giblets
    if (thing->health <= 0)
    {
	P_SetMobjState (thing, S_GIBS);

	thing->flags &= ~MF_SOLID;
	thing->height = 0;
	thing->radius = 0;

	// keep checking
	return true;		
    }

    // crunch dropped items
    if (thing->flags & MF_DROPPED)
    {
	P_RemoveMobj (thing);
	
	// keep checking
	return true;		
    }

    if (! (thing->flags & MF_SHOOTABLE) )
    {
	// assume it is bloody gibs or something
	return true;			
    }
    
    nofit = true;

    if (crushchange && !(leveltime&3) )
    {
	P_DamageMobj(thing,NULL,NULL,10);

	// spray blood in a random direction
	mo = P_SpawnMobj (thing->x,
			  thing->y,
			  thing->z + thing->height/2, MT_BLOOD);
	
	mo->momx = (P_Random() - P_Random ())<<12;
	mo->momy = (P_Random() - P_Random ())<<12;
    }

    // keep checking (crush other things)	
    return true;	
}
See the "crunch bodies to giblets" part. It only checks mobj health. Since A_BossDeath is only called at the end of the death sequence, and since it is kinda long (Baron death takes 40 tics, for example), that gives the crusher time to change a dead actor's state before it finishes its death sequence. In fact it can theoretically happen before the crushed monster has the time to yelp its death scream.
This behavior of interrupting the normal death sequence is what allows ghost pain elementals to exist.
ZDoom fixed this bug by giving monsters which call A_BossDeath a "BOSSDEATH" flag which is checked in the equivalent actor crunching function. If it reaches a dying monster this way, it calls A_BossDeath then. --Gez 10:15, 24 April 2012 (UTC)

Blazing doors?

Once all the Keens on a level have been killed, all sectors tagged 666 will open as blazing doors.

On MAP32 (Grosse) after killing all Keens the exit sector opens as an ordinary door, but not as a blazing one.