Prioritize songs on Song from Impa when Skip Child Zelda internal setting is enabled#2499
Prioritize songs on Song from Impa when Skip Child Zelda internal setting is enabled#2499mracsys wants to merge 6 commits intoOoTRandomizer:Devfrom
Conversation
|
The last commit fixes the multiworld preset test failure. While it passes all the other unit tests, and I think it was incorrect before (would only have affected partial plando of song locations in MW or an item pool with multiple copies of the same song), comparing item objects instead of names might have unintended effects I can't think of. |
|
This was working as intended before. I don't like this change. But Impa is also a song check in songs on dungeon rewards. You have to include the songs on dungeons setting as part of this change if you're going to make it. |
|
Just to be clear I guess, I definitely don't want this behaviour to always start you with a song even if songs are anywhere. I got to wondering about the reward from Rauru. That's also a randomized check that you might start with. Can you even add an extra medallion as a starting item if the rewards are only shuffled between themselves? I'm curious if that has a similar behaviour to the impa's song. |
That isn't what the code does. |
|
Looking into it doesn't seem possible to add a stone or medallion as a starting item (feels like a missing feature), but if it ever becomes possible, then I guess this change would have to be kept in mind. |
|
imo this should be a setting and not the default. This would also allow it to apply to songs anywhere, making it a sort of equivalent to #2459, and we could adjust the dungeon reward option to include this behavior as well when we add rewards as explicit starting items. |
|
Would that be removing the "Forced" option from the Rauru setting and moving it to some new setting covering forced placement of special locations? Make it a checkbox? Multiselect for all special locations? Also, would this new setting be decoupled from Skip Child Zelda? I can't see how it could remain coupled with how the disable system works for multiselects (child trade shuffle). |
|
I'd envisioned it as a new setting that specifically controls the Skip Child Zelda behavior, but your idea sounds better. |
If songs are shuffled on songs, skip child zelda is enabled, and there is at least one starting song from another source, it is possible for the Song from Impa location to have a non-song item shuffled on it. This has the consequence with major random starting items of sometimes placing junk items on Song from Impa and reducing the total expected starting major items based on settings.
This PR adds an extra step to shuffle the Song from Impa location first during the song shuffle stage for this particular settings combination. If there are no songs remaining in the pool, Song from Impa will receive a fallback item as before.
Testing
Tested with the following settings combos: