Vordakk Posted April 4, 2011 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. 0 Share this post Link to post
Quasar Posted April 5, 2011 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. 0 Share this post Link to post
Vordakk Posted April 6, 2011 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. 0 Share this post Link to post
Graf Zahl Posted April 6, 2011 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. 0 Share this post Link to post