Skip to content

Conversation

@mewmew
Copy link
Contributor

@mewmew mewmew commented Dec 15, 2022

When generating dlvl=2 dungeons containing a
staircase down to the Poisoned Water Supply,
a check is missing to ensure that doneflag
is not set to FALSE by the first call to
DRLG_PlaceMiniSet(PWATERIN, ...).

If that was the case, then a second call to
DRLG_PlaceMiniSet may be made, to place
L5STAIRSUP even though doneflag may have been
set to FALSE.

For the correct logic, cross reference against
the drlg_l2 code for placing staircases using
DRLG_L2PlaceMiniSet.

For a PoC triggering the incorrect behaviour,
see dlvl=2, seed=0x0000007B with
quest=Poisoned Water Supply active.

When generating dlvl=2 dungeons containing a
staircase down to the Poisoned Water Supply,
a check is missing to ensure that doneflag
is not set to FALSE by the first call to
DRLG_PlaceMiniSet(PWATERIN, ...).

If that was the case, then a second call to
DRLG_PlaceMiniSet may be made, to place
L5STAIRSUP even though doneflag may have been
set to FALSE.

For the correct logic, cross reference against
the drlg_l2 code for placing staircases using
DRLG_L2PlaceMiniSet.

For a PoC triggering the incorrect behaviour,
see dlvl=2, seed=0x0000007B with
quest=Poisoned Water Supply active.
@galaxyhaxz
Copy link
Member

So technically it would be possible to get a map that can't spawn the poisoned water entrance but fits the stairs meaning the quest is active but there's no way to reach it....

I guess the townspeople will have to drink something else xD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants