diff --git a/soh/soh/Enhancements/randomizer/logic.cpp b/soh/soh/Enhancements/randomizer/logic.cpp index e51d4943e4..30daebc8ab 100644 --- a/soh/soh/Enhancements/randomizer/logic.cpp +++ b/soh/soh/Enhancements/randomizer/logic.cpp @@ -188,6 +188,19 @@ bool Logic::HasItem(RandomizerGet itemName) { case RG_SKELETON_KEY: case RG_RUTOS_LETTER: return CheckRandoInf(StaticData::RandoGetToRandInf.at(itemName)); + // Boss Souls + case RG_GOHMA_SOUL: + case RG_KING_DODONGO_SOUL: + case RG_BARINADE_SOUL: + case RG_PHANTOM_GANON_SOUL: + case RG_VOLVAGIA_SOUL: + case RG_MORPHA_SOUL: + case RG_BONGO_BONGO_SOUL: + case RG_TWINROVA_SOUL: + return !ctx->GetOption(RSK_SHUFFLE_BOSS_SOULS) || CheckRandoInf(StaticData::RandoGetToRandInf.at(itemName)); + case RG_GANON_SOUL: + return !ctx->GetOption(RSK_SHUFFLE_BOSS_SOULS).Is(RO_BOSS_SOULS_ON_PLUS_GANON) || + CheckRandoInf(StaticData::RandoGetToRandInf.at(itemName)); // Overworld Keys case RG_GUARD_HOUSE_KEY: case RG_MARKET_BAZAAR_KEY: