Changing a boss in Heretic
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
-
VineSauceShamrock
- Posts: 3
- Joined: Sat Nov 15, 2025 5:32 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
Changing a boss in Heretic
Lets say I want to replace D'Sparil from the E1M8 level of H!Zone without breaking the script that lowers the exit wall when hes defeated. How would I do that?
-
fakemai
- Posts: 419
- Joined: Mon Feb 12, 2018 12:26 am
- Location: Australia
Re: Changing a boss in Heretic
The actual special actions for the maps are set in MAPINFO. A_BossDie supposedly just checks if all monsters of the calling type are dead and runs that in that instance so just make sure your replacement monster has it in its Death state somewhere. The actual monster's code, note the first one is when on his chaos serpent.
-
Enjay
-

- Posts: 27684
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
Re: Changing a boss in Heretic
Just to add to that, here's the Wiki page that explains A_BossDeath.
Make sure that code pointer is in the death sequence of your replacement and any games that have a MAPINFO with a suitable entry should work.
Make sure that code pointer is in the death sequence of your replacement and any games that have a MAPINFO with a suitable entry should work.
-
VineSauceShamrock
- Posts: 3
- Joined: Sat Nov 15, 2025 5:32 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
Re: Changing a boss in Heretic
I'm still not quite getting it, I'm sorry. I need you to speak to me like I'm a small stupid child.fakemai wrote: Sat Nov 15, 2025 6:08 am The actual special actions for the maps are set in MAPINFO. A_BossDie supposedly just checks if all monsters of the calling type are dead and runs that in that instance so just make sure your replacement monster has it in its Death state somewhere. The actual monster's code, note the first one is when on his chaos serpent.
For example, I open mapinfo and see this:
map e1m8 "Northern Dwarven Mines 8"
{
levelnum = 8
next = "EndTitle"
DSparilSpecial
specialaction_killmonsters
specialaction_exitlevel
music = "MUS_E5M6"
But if I change the monster to an IronLich and do THIS, it doesnt work:
map e1m8 "Northern Dwarven Mines 8"
{
levelnum = 8
next = "EndTitle"
IronlichSpecial
specialaction_killmonsters
specialaction_exitlevel
music = "MUS_E5M6"
I'm taking it there's something I'm not understanding.
-
Enjay
-

- Posts: 27684
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
Re: Changing a boss in Heretic
I've just tried a few combinations of the specialactions in your code, and they worked for me with an ironlich.
The obvious question is, when you ran your test, did you ensure that all IronLiches on the map were dead (not just the one you replaced D'Sparil with)? If any are left alive, nothing will happen. They all need to die to trigger the specials.
If you type kill monsters at the console, it should kill any monsters that are not set to be dormant. Assuming that kills all the IronLiches, the specials should trigger.
Actually, for a bit more finesse, you can type kill ironlich to only kill the ironliches on the map.
The obvious question is, when you ran your test, did you ensure that all IronLiches on the map were dead (not just the one you replaced D'Sparil with)? If any are left alive, nothing will happen. They all need to die to trigger the specials.
If you type kill monsters at the console, it should kill any monsters that are not set to be dormant. Assuming that kills all the IronLiches, the specials should trigger.
Actually, for a bit more finesse, you can type kill ironlich to only kill the ironliches on the map.
-
fakemai
- Posts: 419
- Joined: Mon Feb 12, 2018 12:26 am
- Location: Australia
Re: Changing a boss in Heretic
I didn't even see that "minotaurspecial" line before, apparently there's six such enemies but in that case his custom monster may need to inherit from the original one. If all else fails, you can write a custom function like the one the Strife Acolyte or Strife Crusader use. The sure-fire option is to override the Die function but that's really shitty if you want to trigger a level or episode end since it'll be the instant the enemy dies.
EDIT: There's also a potentially more flexible option that is used in Strife's MAPINFO to handle the red skies on killing of the Programmer. That also relies on A_BossDeath() to work. It isn't limited to ACS calls.
EDIT: There's also a potentially more flexible option that is used in Strife's MAPINFO to handle the red skies on killing of the Programmer. That also relies on A_BossDeath() to work. It isn't limited to ACS calls.
-
Enjay
-

- Posts: 27684
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
Re: Changing a boss in Heretic
If it's a custom monster, can you post the code for the enemy that you are replacing D'Sparil with?
If it's just an IronLich, as your MAPINFO code suggests, then there's no need, but it would be useful to know if that's the case.
-
VineSauceShamrock
- Posts: 3
- Joined: Sat Nov 15, 2025 5:32 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
Re: Changing a boss in Heretic
DOH! No I did not, and now I'm kicking myself. That completely slipped my mind.Enjay wrote: Sat Nov 15, 2025 7:43 am I've just tried a few combinations of the specialactions in your code, and they worked for me with an ironlich.
The obvious question is, when you ran your test, did you ensure that all IronLiches on the map were dead (not just the one you replaced D'Sparil with)? If any are left alive, nothing will happen. They all need to die to trigger the specials.
If you type kill monsters at the console, it should kill any monsters that are not set to be dormant. Assuming that kills all the IronLiches, the specials should trigger.
Actually, for a bit more finesse, you can type kill ironlich to only kill the ironliches on the map.
You're right, it does work now. The way the mapinfo intends. Another thing that made me think it wasn't working was that the wall in the arena didn't slide down to reveal the teleport. Yeah, because it doesn't do that even when things are working correctly, possibly a bug in the original level.
And yeah, no custom monsters. I'm just using Iron Liches and Maulotaurs. There are way way too many D'Sparils in H!Zone.
-
Enjay
-

- Posts: 27684
- Joined: Tue Jul 15, 2003 4:58 pm
- Location: Scotland
Re: Changing a boss in Heretic
Easy mistake to make. Glad it's sorted. 