-
Notifications
You must be signed in to change notification settings - Fork 234
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
Fix logic for Kak Granny Buy Blue Potion #2132
Conversation
I have the plando fix I discussed implemented. Using that and the spoiler from the seed that prompted the bug report, I get an unbeatable world with this logic change during plando fill validation:
|
Search is a pain to debug with the move to solver IDs instead of item names. It'll take a bit for me to tease out. |
plando fix for adult trade item
This logic fix is not working for plando because the rule parser is pre-calculating world attributes. This will also fail without plando as the parser runs before the item pool is generated and this It's not straightforward to remove that parser optimization. I think the right path is to move the check to the world constructor instead of in Item Pool. Plando checks could run at the same time instead of during fill. Unparsed rule string for Kak Granny Buy Blue Potion for reference: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified that these changes work with the bug report spoiler. Still pending checks for earlier trade sequence item and full trade shuffle.
Spoiler for the bug report seed shows the trade item no longer required as expected:
"Path to Volvagia": {
"Sheik at Colossus": "Zeldas Lullaby",
"Deku Tree Map Chest": "Progressive Wallet",
"Kak Granny Buy Blue Potion": "Bomb Bag",
"Colossus Great Fairy Reward": "Megaton Hammer"
}
Rule string ends up as "state.has_all_of((Progressive_Wallet,)) and age == 'adult'"
To confirm, any of the following result in the following rule as expected:
This is testing on my branch with the above review comments incorporated. |
For reproducibility: OoTR_1517552_UZ14LWEPET_Spoilers.txt |
The following scenarios were also verified by plando'ing Light Arrows on Kak Granny Buy Blue Potion:
Seems good to go. |
Logic Review You should confirm this! (edit: Kirox did), but I can't think of any reason why the OoT Devs would not have left it possible to buy the blue potion as child? The Odd Potion Access event already confirms adult for actually showing the trade item, so probably the is_adult check needs to be removed from the logic for the blue potion check. This could come up in S7 if Interiors are shuffled. |
Thanks to everyone for their great work on this! Especially in such a short timespan, you guys rock |
This PR still has an issue per my previous comment. |
Ah, I incorrectly thought the edit meant there was no issue |
Oh I see. No I just meant that Kirox confirmed the check is purchasable as child. |
The logic previously required actually having obtained the trade quest item even if that item comes later in the sequence than the odd mushroom. The actual in-game flag is also set if adult trade shuffle is off and the starting trade item is the odd potion or later.
See discussion in #dev-bug-reports starting here for context.
Now includes a fix contributed by @mracsys to handle adult trade items being plando'd.