From b71b88c57b51614f75333792e1fbb9f76446796a Mon Sep 17 00:00:00 2001 From: Demur Rumed Date: Sun, 26 Jan 2025 14:06:21 +0000 Subject: [PATCH] don't spoil shops without soul --- .../randomizer/randomizer_check_tracker.cpp | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index 51abc0db1..bbad0a643 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -543,13 +543,39 @@ void CheckTrackerTransition(uint32_t sceneNum) { currentArea = GetCheckArea(); switch (sceneNum) { case SCENE_KOKIRI_SHOP: + if (Flags_GetRandomizerInf(RAND_INF_KOKIRI_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_BAZAAR: + if (Flags_GetRandomizerInf(RAND_INF_BAZAAR_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_POTION_SHOP_MARKET: + if (Flags_GetRandomizerInf(RAND_INF_POTION_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_BOMBCHU_SHOP: + if (Flags_GetRandomizerInf(RAND_INF_BOMBCHU_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_POTION_SHOP_KAKARIKO: + if (Flags_GetRandomizerInf(RAND_INF_POTION_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_GORON_SHOP: + if (Flags_GetRandomizerInf(RAND_INF_GORON_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } + break; case SCENE_ZORA_SHOP: - SetShopSeen(sceneNum, false); + if (Flags_GetRandomizerInf(RAND_INF_ZORA_SHOPKEEPER_SOUL)) { + SetShopSeen(sceneNum, false); + } break; } if (!IsAreaSpoiled(currentArea) && (RandomizerCheckObjects::AreaIsOverworld(currentArea) || std::find(spoilingEntrances.begin(), spoilingEntrances.end(), gPlayState->nextEntranceIndex) != spoilingEntrances.end())) {