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

Rando - Clean up dungeon locations in spoilers #4890

Closed
aMannus opened this issue Jan 16, 2025 · 7 comments · Fixed by #5023
Closed

Rando - Clean up dungeon locations in spoilers #4890

aMannus opened this issue Jan 16, 2025 · 7 comments · Fixed by #5023
Assignees
Milestone

Comments

@aMannus
Copy link
Contributor

aMannus commented Jan 16, 2025

Many shuffles like freestanding and fairy shuffle still add their checks with their vanilla item when they're not shuffled.

Bigger issue here is that the dungeoninfo struct just isn't made for conditionally including or excluding dungeon locations. Either we need to handle these shuffles like pots are being handled now (by extending the dungeoninfo struct) or get rid of the dungeoninfo struct altogether and grab the required info from the location list instead.

@aMannus aMannus added this to the 9.0.0 milestone Jan 16, 2025
@leggettc18 leggettc18 self-assigned this Jan 24, 2025
@leggettc18
Copy link
Contributor

I imagine this could be solved by just adding additional arrays to the DungeonInfo structs for the other sanities. Will need to have a closer look first to be sure though.

@aMannus
Copy link
Contributor Author

aMannus commented Jan 24, 2025

We can yeah, but I wanted to look into adding locations in dungeons without the dungeon info at all. If that turns out to be too complex, your solution will work though, and it's what shuffle pots is doing.

@leggettc18
Copy link
Contributor

Hmmm, only other way I can think of right now is to add something to the Location class to indicate what dungeon things are in (or just overworld). Which is roughly the same amount of work but in a much larger and more annoying to edit file. Maybe we could re-purpose RCAREA for this? I'm not 100% certain if that will work, but it might.

@leggettc18
Copy link
Contributor

DungeonInfo will still need to stick around for key counts, quest-type, etc. but stripping locations from them may be doable if RCAREAs will work.

@aMannus
Copy link
Contributor Author

aMannus commented Jan 24, 2025

Location list should have the scene enums, and if any checks don't we should add it there. Then loop over the dungeon scenes with the usual quest type of that dungeon check. Once we did that, we can easily add a similar function like what happens to overworld checks, simply add the checks belonging to that dungeon based on RCTYPE & setting enabled.

And yeah you're right, I meant removing locations from DungeonInfo specifically

@leggettc18
Copy link
Contributor

I don't think we can use scenes, at least not without a few exceptions. Namely the Colossus hand chests I'm pretty sure are considered Spirit Temple checks, but they have SCENE_DESERT_COLOSSUS, not SCENE_SPIRIT_TEMPLE. But they do have RCAREA_SPIRIT_TEMPLE.

@leggettc18
Copy link
Contributor

leggettc18 commented Jan 24, 2025

But yes other than using Areas instead of Scenes I agree that the loop would work.

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 a pull request may close this issue.

2 participants