-
Notifications
You must be signed in to change notification settings - Fork 614
Rando: Add Triforce Hunt GBK setting #5739
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
base: develop
Are you sure you want to change the base?
Conversation
b660ec3 to
6bedb8c
Compare
|
See #5628 on how we'd like to greatly cleanup wincon implementation |
|
@serprex would this landing get in the way of the proposed cleanup? |
|
No, this PR is pretty light |
|
@Sirius902 The one thing I could say to explain the last playthrough was having gotten a triforce piece both on Link's Pocket and Song from Impa. Don't suppose you still have that whole log around to check it. |
|
Oh, also, you won't need to worry about migration since I implemented version-lock for rando saves and spoilers. |
|
I don't like the way this splits GBK options, but I'm having a hard time figuring out the proper way of combining these. My initial thoughts are, have Triforce Hunt as an option in GBK that overrides the default of Win for Hunt, and forces it on in the function that registers changes. That way, you don't have to worry about the disabled tooltip that I was going to ask for., and you could also have LACS and non-LACS versions of the Hunt condition for GBK. But this still feels clumsy. |
|
I kinda want to get rid of the LACS GBK, since it prevents an actual LACS check, reducing value of medallions |
|
I mean, that is still an option. People don't have to use the LACS versions (though applying it to LACS could probably be handled better to minimize the sheer volume of that dropdown). |
I don't have the log anymore but I tried again on master a few times and it seems I can't reproduce the issue anymore so I guess it's fine.
Yeah I'm not really sure what would be best here either. I guess the main thing I was going for with this PR was making it so collecting all the Triforce pieces wouldn't outright end the game since that isn't as fun: I'd prefer if that gave some sort of important check and since the default Triforce Hunt already gifted GBK after winning I had it be that. More options would be nice though.
Yeah I think it'd be nice to have options for LACS to be a regular check if desired wherever possible. |
Isn't it already, if you don't have GBK on LACS? |
|
IMO GBK on LACS is a relic of the past probably because it was easier to code it that way previously (as in, for the 3DS rando). It should really just go entirely at some point, which would simplify some stuff a decent amount. As for the playthrough jank, it struggles a lot removing the correct amount of pieces when there's a lot of alternative ways to get the required amount. It doesn't mean it actually requires the wrong amount of pieces, it's just a flaw in the actual playthrough writing. |
|
Opened #5838 in regards to LACS discussion |
6bedb8c to
b4540f2
Compare
|
Can someone re-run the macOS job? Looks like a transient failure. |
|
Looks like your last force push committed a lot of reversions. Edit: Nevermind, was reading something else. |
b4540f2 to
420fc9c
Compare
Moves the current Triforce Hunt behavior to a "Win" setting (sets the game completion flag and warps to credits) and adds a new "Ganon's Boss Key" setting that just gives Ganon's Boss Key once all Triforce Pieces are collected. Accordingly, the game's completion goal in logic with this setting is defeating Ganon instead of just completing the Triforce (the current Triforce Hunt behavior is to put junk on Ganon since you're warped directly to credits).
EDIT:
I'm not sure the logic is set up correctly for the Ganon's Boss Key option to actually require the Triforce Pieces to win the game since the original code assumes Ganon's Boss Key is in logic at the start. Can anyone give advice on how to correct this? Should I only run the below code if Triforce Hunt is specifically
RO_TRIFORCE_HUNT_WIN?Shipwright/soh/soh/Enhancements/randomizer/3drando/starting_inventory.cpp
Lines 57 to 62 in b660ec3
I've noticed if you have a randomizer generated from before this PR with Triforce Hunt enabled the game will crash when trying to deserialize the "On" option from the randomizer JSON since it was using the generic on/off option previously. Is this something I have to be worried about (migration or something)?
EDIT II:
Spoiler JSON Playthrough
{ ... "Triforce Hunt": "Ganon's Boss Key", ... "playthrough": { "sphere 00": { "KF Mido Top Left Chest": "Triforce Piece", "KF Mido Bottom Left Chest": "Lens of Truth", "KF Mido Bottom Right Chest": "Triforce Piece", "KF Shop Item 1": "Triforce Piece", "KF Shop Item 2": "Buy Deku Shield", "KF Shop Item 7": "Triforce Piece", "LW Gift From Saria": "Progressive Ocarina", "Market Guard House Adult Pot 4": "Nocturne of Shadow", "Market Guard House Adult Pot 6": "Triforce Piece", "Market Guard House Adult Pot 7": "Triforce Piece", "Kak Bazaar Item 1": "Triforce Piece", "Kak Bazaar Item 2": "Buy Deku Nut (5)", "Kak Potion Shop Item 2": "Buy Hylian Shield", "Kak Potion Shop Item 3": "Mirror Shield", "Kak Potion Shop Item 7": "Song of Time", "Kak Near Impas House Adult Crate 2": "Strength Upgrade", "Market ToT Master Sword": "Master Sword" }, "sphere 01": { "Completed Triforce": "Ganon's Castle Boss Key", ... }, ... "sphere 13": { "Ganon": "Triforce" } }, ... }Spoiler JSON Playthrough
{ ... "Triforce Hunt": "On", "Triforce Hunt Total Pieces": "100", "Triforce Hunt Required Pieces": "5", ... "playthrough": { "sphere 00": { "KF Mido Bottom Left Chest": "Triforce Piece", "KF Shop Item 2": "Buy Deku Shield", "KF Shop Item 4": "Triforce Piece", "LW Gift From Saria": "Triforce Piece", "Market Potion Shop Item 2": "Buy Hylian Shield", "Market Bombchu Shop Item 2": "Buy Deku Nut (5)" }, "sphere 01": { "Completed Triforce": "Triforce" } }, ... }Build Artifacts