Skip to content

Handle own dungeon item placement with Boss room shuffle#667

Merged
gymnast86 merged 1 commit intogamestabled:mainfrom
Archez:own-dungeon-items-boss-er
Apr 9, 2023
Merged

Handle own dungeon item placement with Boss room shuffle#667
gymnast86 merged 1 commit intogamestabled:mainfrom
Archez:own-dungeon-items-boss-er

Conversation

@Archez
Copy link
Contributor

@Archez Archez commented Apr 7, 2023

When dungeon items are set to "Own Dungeon", we grab the list of locations directly from the dungeon definition.

This was not accounting for Boss room shuffle, so for example if Water Temple had Bongo Bongo inside, it could be possible for Bongo to have the Shadow Temple boss key, meaning you would have to clear a different temple just to be able to clear Shadow. This "breaks" the definition of "Own Dungeon".

To address this, I have split the dungeon location definitions to move the boss room locations outside of the shared location list and into a separate list bossRoomLocations. (This wasn't needed directly for the fix, but I think can be useful in the future)

Then in RandomizeOwnDungeon during the fill process, rather than getting the dungeon item list from the dungeon definition itself via GetDungeonLocations, I am filtering all locations and comparing the locations parent region hint key with the dungeons hint key. This will grab all the locations that are "connected" to that dungeon, similar to how hints are done for interior regions.

This approach is similar to what N64 rando does here: https://github.com/OoTRandomizer/OoT-Randomizer/blob/ae1a3908ccfc37af88297eac6383b74217f6b519/Fill.py#L291-L297

@gymnast86 gymnast86 merged commit ffd8a62 into gamestabled:main Apr 9, 2023
@Archez Archez deleted the own-dungeon-items-boss-er branch April 9, 2023 16:04
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