Here's a prototype re-write of the scripting handled on map23 of HEXEN.wad
This script should make it impossible for the gibbet bug to occur that traps the player in the room before the Heresiarch and prevents them from being able to finish the map.
This is still just a prototype, and any assistance from more masterful scripters in optimizing this is welcome and greatly appreciated.
This should be compatible with absolutely everything.
Before anyone asks about vanilla support... No thanks... You're welcome to use my code as a framework to do it yourself though. Just provide proper credits.
Re: Hexen Gibbet Re-Script
Posted: Wed Jun 12, 2019 4:18 am
by leodoom85
You know that letting live exactly 3 serpents will open the walls and continue the map....right?
Re: Hexen Gibbet Re-Script
Posted: Wed Jun 12, 2019 4:28 am
by StroggVorbis
Yeah, he does. I've run into this bug myself before. If you kill the serpents too fast or simultaneously, the game will become softlocked. The original script is supposed to execute when there are 3 serpents or less, but it only executes when there are exactly three.
Edit: I've attached the ACS source for Gibbet, so you can make a Zandronum or vanilla compatible version too
Re: Hexen Gibbet Re-Script
Posted: Wed Jun 12, 2019 5:52 pm
by Dinosaur_Nerd
leodoom85 wrote:You know that letting live exactly 3 serpents will open the walls and continue the map....right?
That is exactly the problem.
If there isn't precisely 3 serpents alive when the script checks (once every 6 seconds) then the player is stuck, requiring the player to open the console and cheat.
This fixes that so that no cheating is required and the game can be played as intended.
DabbingSquidward wrote:I've attached the ACS source for Gibbet, so you can make a Zandronum or vanilla compatible version too
Thanks for the help, though I already used the decompiled ACS for gibbet to ensure that I was doing exactly what the original game was doing in the first place.
I am adding new files that will be compatible with Zandronum, more optimized for GZDoom, and an alternative method that combines both ACS and ZScript, just in case it is the fastest possible option.