From d1643aa19646a5483e2c90ef7bf5f565594727db Mon Sep 17 00:00:00 2001 From: xxAtrain223 Date: Fri, 27 Mar 2026 21:40:34 -0500 Subject: [PATCH] LACS-Dungeons Check Availability (#6202) * Fixes #5433, LACS-Dungeons beatable vs beat. * Use CalculatingAvailableChecks in Logic::DungeonCount to check flags. --- soh/soh/Enhancements/randomizer/logic.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/logic.cpp b/soh/soh/Enhancements/randomizer/logic.cpp index 427a6c4c2..18366f479 100644 --- a/soh/soh/Enhancements/randomizer/logic.cpp +++ b/soh/soh/Enhancements/randomizer/logic.cpp @@ -1396,9 +1396,20 @@ uint8_t Logic::Hearts() { } uint8_t Logic::DungeonCount() { - return Get(LOGIC_DEKU_TREE_CLEAR) + Get(LOGIC_DODONGOS_CAVERN_CLEAR) + Get(LOGIC_JABU_JABUS_BELLY_CLEAR) + - Get(LOGIC_FOREST_TEMPLE_CLEAR) + Get(LOGIC_FIRE_TEMPLE_CLEAR) + Get(LOGIC_WATER_TEMPLE_CLEAR) + - Get(LOGIC_SPIRIT_TEMPLE_CLEAR) + Get(LOGIC_SHADOW_TEMPLE_CLEAR); + if (CalculatingAvailableChecks) { + return CheckEventChkInf(EVENTCHKINF_USED_DEKU_TREE_BLUE_WARP) + + CheckEventChkInf(EVENTCHKINF_USED_DODONGOS_CAVERN_BLUE_WARP) + + CheckEventChkInf(EVENTCHKINF_USED_JABU_JABUS_BELLY_BLUE_WARP) + + CheckEventChkInf(EVENTCHKINF_USED_FOREST_TEMPLE_BLUE_WARP) + + CheckEventChkInf(EVENTCHKINF_USED_FIRE_TEMPLE_BLUE_WARP) + + CheckEventChkInf(EVENTCHKINF_USED_WATER_TEMPLE_BLUE_WARP) + + CheckRandoInf(RAND_INF_DUNGEONS_DONE_SPIRIT_TEMPLE) + + CheckRandoInf(RAND_INF_DUNGEONS_DONE_SHADOW_TEMPLE); + } else { + return Get(LOGIC_DEKU_TREE_CLEAR) + Get(LOGIC_DODONGOS_CAVERN_CLEAR) + Get(LOGIC_JABU_JABUS_BELLY_CLEAR) + + Get(LOGIC_FOREST_TEMPLE_CLEAR) + Get(LOGIC_FIRE_TEMPLE_CLEAR) + Get(LOGIC_WATER_TEMPLE_CLEAR) + + Get(LOGIC_SPIRIT_TEMPLE_CLEAR) + Get(LOGIC_SHADOW_TEMPLE_CLEAR); + } } uint8_t Logic::StoneCount() {