It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
BigJake123: ... I did have a saved game and this allowed me to progress, after following the work around.
Here is a description for the bug found on the Hub 4: Gibbet map. (Best to have the information here as well, just in case.)
There is a script on this map that requires a very specific condition to activate that the player can accidentally render impossible to meet. The script must activate to allow further progress in the game.

In the room behind the Axe Door is a throne that four Chaos Serpents will teleport on to. The aforementioned script checks every few seconds that exactly three remain and lowers walls when the condition is met. However, it is possible for the player to reduce their number below three in those few seconds. In this case the script will never activate and the player will become permanently stuck.

If this should happen, use the "casper" cheat code and go through the walls on either side of the room, killing the Dark Bishops inside both hidden rooms. This will trigger the back wall to lower, revealing the second Heresiarch's lair. The Heresiarch may not be responsive, but attacking him will wake him up, and the game can proceed from there.
Post edited September 16, 2022 by SpellSword
Graf's post: Link.
NeuralStunner's notes: Link.

Resulting fix in a from of PWAD, compiled by Inkus: Link.


//Original code
script 13 OPEN
{
until (thingcount(T_DEMON, 0) == 3)
{
delay(const: 210);
}
Door_Open(const: 28, 32);
tagwait(const: 28);
Stairs_BuildDownSync(const: 18, 8, 16, 0);
}

script 14 (void)
{
if (thingcount(T_FIREGARGOYLE, 12) == 0)
{
delay(const: 70);
Thing_Spawn(const: 11, T_DEMON, 0);
}
}


//Fixed code
script 13 (void)
{
until (thingcount(T_DEMON, 0) <= 3)
{
delay(const: 210);
}
Door_Open(const: 28, 32);
tagwait(const: 28);
Stairs_BuildDownSync(const: 18, 8, 16, 0);
}

script 14 (void)
{
if (thingcount(T_FIREGARGOYLE, 12) == 0)
{
delay(const: 70);
Thing_Spawn(const: 11, T_DEMON, 0);
ACS_Execute(const: 13, 0, 0, 0, 0);
}
}
Post edited November 04, 2022 by Schwertz