From 70fc060381a0561dde5472becf0c74bdd11128f1 Mon Sep 17 00:00:00 2001 From: Jordan Longstaff Date: Wed, 19 Mar 2025 15:03:15 -0400 Subject: [PATCH] Fix Forest Stage upgrades with Skip Misc Interactions (#5052) * Fix Forest Stage upgrades with Skip Misc Interactions * Explicit upgrade checks --- soh/soh/Enhancements/timesaver_hook_handlers.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/soh/soh/Enhancements/timesaver_hook_handlers.cpp b/soh/soh/Enhancements/timesaver_hook_handlers.cpp index eee2a0e9b..7acf51a6d 100644 --- a/soh/soh/Enhancements/timesaver_hook_handlers.cpp +++ b/soh/soh/Enhancements/timesaver_hook_handlers.cpp @@ -1106,12 +1106,18 @@ void TimeSaverOnFlagSetHandler(int16_t flagType, int16_t flag) { break; case FLAG_ITEM_GET_INF: switch (flag) { - case ITEMGETINF_OBTAINED_STICK_UPGRADE_FROM_STAGE: - vanillaQueuedItemEntry = Rando::StaticData::RetrieveItem(RG_DEKU_STICK_CAPACITY_30).GetGIEntry_Copy(); + case ITEMGETINF_OBTAINED_STICK_UPGRADE_FROM_STAGE: { + RandomizerGet stickUpgrade = + CUR_UPG_VALUE(UPG_STICKS) == 2 ? RG_DEKU_STICK_CAPACITY_30 : RG_DEKU_STICK_CAPACITY_20; + vanillaQueuedItemEntry = Rando::StaticData::RetrieveItem(stickUpgrade).GetGIEntry_Copy(); break; - case ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE: - vanillaQueuedItemEntry = Rando::StaticData::RetrieveItem(RG_DEKU_NUT_CAPACITY_40).GetGIEntry_Copy(); + } + case ITEMGETINF_OBTAINED_NUT_UPGRADE_FROM_STAGE: { + RandomizerGet nutUpgrade = + CUR_UPG_VALUE(UPG_NUTS) == 2 ? RG_DEKU_NUT_CAPACITY_40 : RG_DEKU_NUT_CAPACITY_30; + vanillaQueuedItemEntry = Rando::StaticData::RetrieveItem(nutUpgrade).GetGIEntry_Copy(); break; + } } break; }