Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drlg_l1: add BUGFIX for DRLG_L5 #2285

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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