diff --git a/soh/soh/Enhancements/randomizer/3drando/logic.cpp b/soh/soh/Enhancements/randomizer/3drando/logic.cpp index e6af19bd8..33032a62e 100644 --- a/soh/soh/Enhancements/randomizer/3drando/logic.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/logic.cpp @@ -474,22 +474,22 @@ namespace Logic { (age == HasProjectileAge::Either && (Slingshot || Boomerang || Hookshot || Bow)); } - bool HasBossSoul(uint32_t itemName) { + bool HasBossSoul(RandomizerGet itemName) { if (ShuffleBossSouls.Is(BOSSSOULS_OFF)) { return true; } - if (ShuffleBossSouls.IsNot(BOSSSOULS_ON_PLUS_GANON) && itemName == GANON_BOSS_SOUL) { + if (ShuffleBossSouls.IsNot(BOSSSOULS_ON_PLUS_GANON) && itemName == RG_GANON_SOUL) { return true; } - return (itemName == GOHMA_BOSS_SOUL && CanSummonGohma) || - (itemName == KING_DODONGO_BOSS_SOUL && CanSummonKingDodongo) || - (itemName == BARINADE_BOSS_SOUL && CanSummonBarinade) || - (itemName == PHANTOM_GANON_BOSS_SOUL && CanSummonPhantomGanon) || - (itemName == VOLVAGIA_BOSS_SOUL && CanSummonVolvagia) || - (itemName == MORPHA_BOSS_SOUL && CanSummonMorpha) || - (itemName == BONGO_BONGO_BOSS_SOUL && CanSummonBongoBongo) || - (itemName == TWINROVA_BOSS_SOUL && CanSummonTwinrova) || - (ShuffleBossSouls.Is(BOSSSOULS_ON_PLUS_GANON) && (itemName == GANON_BOSS_SOUL && CanSummonGanon)); + return (itemName == RG_GOHMA_SOUL && CanSummonGohma) || + (itemName == RG_KING_DODONGO_SOUL && CanSummonKingDodongo) || + (itemName == RG_BARINADE_SOUL && CanSummonBarinade) || + (itemName == RG_PHANTOM_GANON_SOUL && CanSummonPhantomGanon) || + (itemName == RG_VOLVAGIA_SOUL && CanSummonVolvagia) || + (itemName == RG_MORPHA_SOUL && CanSummonMorpha) || + (itemName == RG_MORPHA_SOUL && CanSummonBongoBongo) || + (itemName == RG_TWINROVA_SOUL && CanSummonTwinrova) || + (ShuffleBossSouls.Is(BOSSSOULS_ON_PLUS_GANON) && (itemName == RG_GANON_SOUL && CanSummonGanon)); } diff --git a/soh/soh/Enhancements/randomizer/3drando/logic.hpp b/soh/soh/Enhancements/randomizer/3drando/logic.hpp index 820a5ccf3..fc934ddd5 100644 --- a/soh/soh/Enhancements/randomizer/3drando/logic.hpp +++ b/soh/soh/Enhancements/randomizer/3drando/logic.hpp @@ -377,6 +377,7 @@ void UpdateHelpers(); bool CanPlay(bool song); bool CanUse(RandomizerGet itemName); bool HasProjectile(HasProjectileAge age); +bool HasBossSoul(RandomizerGet itemName); bool SmallKeys(RandomizerRegion dungeon, uint8_t requiredAmount); bool SmallKeys(RandomizerRegion dungeon, uint8_t requiredAmountGlitchless, uint8_t requiredAmountGlitched); bool CanDoGlitch(GlitchType glitch); diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h index b2acb97b2..86485b5e4 100644 --- a/soh/soh/Enhancements/randomizer/randomizerTypes.h +++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h @@ -3009,6 +3009,15 @@ typedef enum { RHT_DEKU_STICK_CAPACITY_20, RHT_DEKU_STICK_CAPACITY_30, RHT_TRIFORCE_PIECE, + RHT_GOHMA_SOUL, + RHT_KING_DODONGO_SOUL, + RHT_BARINADE_SOUL, + RHT_PHANTOM_GANON_SOUL, + RHT_VOLVAGIA_SOUL, + RHT_MORPHA_SOUL, + RHT_BONGO_BONGO_SOUL, + RHT_TWINROVA_SOUL, + RHT_GANON_SOUL, RHT_EPONA, // Entrances RHT_DESERT_COLOSSUS_TO_COLOSSUS_GROTTO,