Fix weird egg logic#5382
Conversation
… happens whenever you get the egg. Remove RSK check for garden entrance because access is still handled by `CanUse(RG_WEIRD_EGG)`.
|
Is |
|
No, the check still uses EVENTCHKINF_OBTAINED_POCKET_EGG for whatever's on Malon. Pretty sure that flag is misnamed. |
|
I'll maintain my approval of this PR because I think this is a pre-existing issue, but I have noticed during testing this that if you shuffle the weird egg and use it to move Talon, you lose access to the HC Malon Egg check. Now I did use Save Editor to hack in the Cucco so if that does something weird that isn't possible in normal gameplay please do let me know. I don't think we necessarily need to fix that here though. Might require either source intrusions or new VB Hooks to make it work properly. |
|
As far as seed-gen logic goes everything here works great though. |
|
I'll merge this for now, the Malon behavior isn't caused by this anyway and fixing it should be the job of a different PR. |
… happens whenever you get the egg. (HarbourMasters#5382) Remove RSK check for garden entrance because access is still handled by `CanUse(RG_WEIRD_EGG)`.
There were three problems with weird egg logic. First,
RAND_INF_WEIRD_EGGwas getting set when talking to Malon, even if weird egg was shuffled (availability change). This would falsely show things past Talon as accessible after talking to Malon but without the egg. Second was thatRAND_INF_WEIRD_EGGwasn't getting set if the egg was collected elsewhere due to shuffling it. These were both solved by removing the eventchkinf trigger for it fromRandomizerOnFlagSetHandler()and moving it to the trade item give processing inz_parameterinstead.The third was that logic was showing "Song from Impa" as accessible before getting the egg when it wasn't shuffled because the entrance access was checking for the RSK not being set, which was redundant because of
ApplyItemEffect()still being triggered when the egg was vanilla, soCanUse(RG_WEIRD_EGG)there covers both cases, so this removes that RSK check.Build Artifacts