Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Vordakk

Mapinfo override question

Recommended Posts

Hi, as you know when D'Sparil dies in Heretic he kills all other monsters on the level regardless of whether or not any special_action is noted in the Mapinfo lump. I guess this is hard-coded into the .exe?

My question is this: Is there a way to override this behavior using a Mapinfo command and if so what is this command? If not, is there ANY way possible to get around this using a roundabout method. Thanks in advance.

Share this post


Link to post
Vordakk said:

Hi, as you know when D'Sparil dies in Heretic he kills all other monsters on the level regardless of whether or not any special_action is noted in the Mapinfo lump. I guess this is hard-coded into the .exe?

My question is this: Is there a way to override this behavior using a Mapinfo command and if so what is this command? If not, is there ANY way possible to get around this using a roundabout method. Thanks in advance.

It's actually done twice when D'Sparil dies - once immediately, and again when he's about to finish dying. IIRC both calls eminate from codepointers in his death frames, so if you cleared those actions out, he wouldn't kill monsters any longer. However, he also would no longer cause tag 666 to do a lowerFloor action either. You can't have one without the other I am afraid, at least not when sticking to the stock set of Heretic action functions. I'm sure with ZDoom one can drum up whatever he pleases, especially by calling into ACS specials.

Share this post


Link to post

Thanks for the quick response, man. At this point I'm pretty much going to have to create a whole new level, which will come sequencially after the D'Sparil level, and just stick the monsters I didn't want to die in it. Not the end of the world, but it is divergent from my original plans.

Share this post


Link to post

This is something I did years ago when I wanted to not let him kill everything:

//===========================================================================
//
// modified D'Sparil (doesn't kill all other monsters)
//
//===========================================================================
ACTOR Counter : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 10
}

ACTOR Sorcerer2X : Sorcerer2 replaces Sorcerer2
{
	States
	{
	Death:
		SDTH A 8
		SDTH B 8
		SDTH C 8 A_Scream
		SDTH DEF 7
		SDTH F 0 A_GiveInventory("Counter",1)
		SDTH F 0 A_JumpIfInventory("Counter", 7, 1)
		Goto Death+3
		SDTH G 6 A_PlaySound("dsparil/explode")
		SDTH H 6
		SDTH I 18
		SDTH J 6 A_Fall
		SDTH K 6 A_PlaySound("dsparil/bones")
		SDTH LMN 6
		SDTH O -1 A_BossDeath
		Stop
	}
}
With this modified death sequence he normally reacts to MAPINFO definitions.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×