Low floor friction fix and other things.

- Unbreak inventory resets in Eviternity.
- Hotfix for Eviternity II MAP33, lava sections should be beatable now.
This commit is contained in:
Mari the Deer 2023-12-23 15:33:20 +01:00
commit bc00b01a0f
3 changed files with 21 additions and 6 deletions

View file

@ -50,6 +50,8 @@ extend Class SWWMHandler
{
bool maphaskeys;
bool nogroundanchor;
// weird optimization
Array<SectorBounds> sbounds;
@ -132,6 +134,10 @@ extend Class SWWMHandler
if ( !playeringame[i] || !players[i].mo ) continue;
let demo = Demolitionist(players[i].mo);
if ( !demo ) continue;
// Death exit counter breaks Eviternity's episode transitions
// so we need this little patch-up work here
if ( (players[i].playerstate == PST_DEAD) && nextlv && (nextlv.flags2&LEVEL2_RESETINVENTORY) )
demo.invwipe |= Demolitionist.WIPE_EPISODE;
if ( level.nextsecretmap.Left(6) == "enDSeQ" ) demo.invwipe |= Demolitionist.WIPE_EPISODE;
if ( nextlv && (level.cluster!=nextlv.cluster) ) demo.invwipe |= (Demolitionist.WIPE_CLUSTER|Demolitionist.WIPE_MAP);
if ( !(level.clusterflags&LevelLocals.CLUSTER_HUB) ) demo.invwipe |= Demolitionist.WIPE_MAP;
@ -405,6 +411,12 @@ extend Class SWWMHandler
}
break;
}
// Eviternity II MAP33 fix. Player movement physics need to
// have ground anchoring disabled, as it will make some
// segments impossible due to the player's feet immediately
// touching the instant-kill lava
if ( level.GetChecksum() ~== "043FE06534270E95882CA128AF7B0402" )
nogroundanchor = true;
// for skipping over merged exit lines (sharing vertices)
Array<Line> skipme;
skipme.Clear();