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

Narrow conditions for priority one-way handling #1440

Merged
merged 4 commits into from
Feb 4, 2023

Conversation

fenhl
Copy link
Collaborator

@fenhl fenhl commented Nov 18, 2021

This optimization is intended for ALR to guarantee access to certain regions via one-ways earlier in the seed generation. It should only apply to AGR if there are necessarily goals locked behind these regions. It already does not apply to RO.

@Zannick
Copy link
Member

Zannick commented Nov 18, 2021

I want to ponder this more deeply, actually. If AGR can require all dungeons, then we'd need this to avoid having repeated failures due to not placing a warp to Graveyard/Shadow.

@fenhl
Copy link
Collaborator Author

fenhl commented Nov 18, 2021

I suppose the Nocturne warp could be enabled if there's a dungeon reward goal.

@Zannick
Copy link
Member

Zannick commented Nov 18, 2021

And if there's a dungeon reward goal but no dungeon ER, we'd also need Requiem. But not Bolero.

How often do we expect it to be the case that we'd need this in AGR? I can think of: bridge=dungeons, GBK=dungeons, maybe lacs? And then Bingo is random enough that I'd want to leave it enabled.

@fenhl
Copy link
Collaborator Author

fenhl commented Nov 18, 2021

Also bridge = meds and Gbk = stones or vice versa. Not sure what you're referring to with the Bingo comment.

@Zannick
Copy link
Member

Zannick commented Nov 19, 2021

Bingo can have a lot of different types of goals. My point is that there's a lot of cases to cover and it could be more work to maintain an accurate list than to just have it always on for AGR. What's the motivation for this? Just to let AGR sometimes not have warp access to Shadow?

@Zannick Zannick added Component: Randomizer Core Generally the core functions of the python Component: Setting specific to setting(s) labels Jan 12, 2022
@Zannick Zannick self-requested a review January 12, 2022 02:04
Copy link
Member

@Zannick Zannick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unapproving for now, since I'd still like this in AGR for a few cases but we should allow it to narrow further (like Bolero can be excluded) as mentioned.

@cjohnson57 cjohnson57 added the Status: Waiting for Author Changes or response requested label Jan 8, 2023
@fenhl fenhl changed the title Remove priority one-way entrance handling in AGR Narrow conditions for priority one-way handling Jan 30, 2023
@fenhl
Copy link
Collaborator Author

fenhl commented Jan 30, 2023

Narrowed things down a bit:

  • Bolero is prioritized under one of the following conditions:
    • ALR
    • Token wincon and overworld tokens not shuffled
  • Nocturne is prioritized under one of the following conditions:
    • ALR
    • Dungeon reward wincon
    • Stone wincon and medallion wincon
    • Token wincon and dungeon tokens not shuffled
  • Requiem is prioritized if no ER options that can make Colossus reachable as child are on (which now includes special interiors in addition to dungeon and overworld ER, since some special interiors can give access) and one of the following conditions is true:
    • ALR
    • Dungeon reward wincon
    • Stone wincon and medallion wincon
    • Token wincon and either type of token not shuffled

@cjohnson57 cjohnson57 added Status: Needs Review Someone should be looking at it and removed Status: Waiting for Author Changes or response requested labels Feb 4, 2023
@cjohnson57
Copy link
Collaborator

I don't really understand the reasoning behind the token conditions, can you explain them?

@fenhl
Copy link
Collaborator Author

fenhl commented Feb 4, 2023

Bolero locks access to a bean patch skull so it locks a goal item if overworld skulls aren't shuffled. Nocturne locks access to a dungeon so it locks a goal item if dungeon skulls aren't shuffled (unless GTG or Ganon's are in there but I feel like forcing that is even less variety than priority one-ways). Requiem locks access to both a bean patch skull and a dungeon.

@cjohnson57
Copy link
Collaborator

Gotcha, I was thinking about it backwards since normally you'd check if those locations are shuffled to see if you care about doing stuff to them or not

@cjohnson57 cjohnson57 merged commit 8123454 into OoTRandomizer:Dev Feb 4, 2023
@fenhl fenhl deleted the agr-priority-entrances branch February 5, 2023 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Randomizer Core Generally the core functions of the python Component: Setting specific to setting(s) Status: Needs Review Someone should be looking at it
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants