summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPepper0ni <93387759+Pepper0ni@users.noreply.github.com>2025-08-25 19:59:47 +0100
committerGitHub <noreply@github.com>2025-08-25 11:59:47 -0700
commit224efe2946d5903a69855188b0bcba268b03638e (patch)
tree2226cb2140ad069c5b6945c6d5de74ceb1a1e79e
parentb6166f41c85c5834a4e68807bb94d3460f7033d1 (diff)
Fix TOT_MASTER_SWORD when the master sword is stated with but not shuffled. (#5705)
* Fix TOT_MASTER_SWORD when the master sword is stated with but not shuffled. * remove RC_MASTER_SWORD_PEDESTAL
-rw-r--r--soh/soh/Enhancements/randomizer/context.cpp2
-rw-r--r--soh/soh/Enhancements/randomizer/hook_handlers.cpp2
-rw-r--r--soh/soh/Enhancements/randomizer/randomizerTypes.h2
-rw-r--r--soh/soh/Enhancements/randomizer/settings.cpp2
4 files changed, 3 insertions, 5 deletions
diff --git a/soh/soh/Enhancements/randomizer/context.cpp b/soh/soh/Enhancements/randomizer/context.cpp
index 243f22ea6..d291655a0 100644
--- a/soh/soh/Enhancements/randomizer/context.cpp
+++ b/soh/soh/Enhancements/randomizer/context.cpp
@@ -170,7 +170,7 @@ void Context::GenerateLocationPool() {
// TODO: Exclude checks for some of the older shuffles from the pool too i.e. Frog Songs, Scrubs, etc.)
if (location.GetRandomizerCheck() == RC_UNKNOWN_CHECK ||
location.GetRandomizerCheck() == RC_TRIFORCE_COMPLETED || // already in pool
- (location.GetRandomizerCheck() == RC_MASTER_SWORD_PEDESTAL &&
+ (location.GetRandomizerCheck() == RC_TOT_MASTER_SWORD &&
mOptions[RSK_SHUFFLE_MASTER_SWORD].Is(RO_GENERIC_OFF)) ||
(location.GetRandomizerCheck() == RC_KAK_100_GOLD_SKULLTULA_REWARD &&
mOptions[RSK_SHUFFLE_100_GS_REWARD].Is(RO_GENERIC_OFF)) ||
diff --git a/soh/soh/Enhancements/randomizer/hook_handlers.cpp b/soh/soh/Enhancements/randomizer/hook_handlers.cpp
index babea1c50..9e77d27c4 100644
--- a/soh/soh/Enhancements/randomizer/hook_handlers.cpp
+++ b/soh/soh/Enhancements/randomizer/hook_handlers.cpp
@@ -884,7 +884,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
break;
}
case VB_GIVE_ITEM_MASTER_SWORD:
- if (RAND_GET_OPTION(RSK_SHUFFLE_MASTER_SWORD)) {
+ if (RAND_GET_OPTION(RSK_SHUFFLE_MASTER_SWORD) || RAND_GET_OPTION(RSK_STARTING_MASTER_SWORD)) {
*should = false;
} else {
*should = true;
diff --git a/soh/soh/Enhancements/randomizer/randomizerTypes.h b/soh/soh/Enhancements/randomizer/randomizerTypes.h
index d9eae0af8..63dbeb389 100644
--- a/soh/soh/Enhancements/randomizer/randomizerTypes.h
+++ b/soh/soh/Enhancements/randomizer/randomizerTypes.h
@@ -2609,7 +2609,6 @@ typedef enum {
RC_PIERRE,
RC_DELIVER_RUTOS_LETTER,
- RC_MASTER_SWORD_PEDESTAL,
RC_KF_DEKU_TREE_LEFT_GOSSIP_STONE,
RC_KF_DEKU_TREE_RIGHT_GOSSIP_STONE,
RC_KF_GOSSIP_STONE,
@@ -4902,7 +4901,6 @@ typedef enum {
RHT_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT,
RHT_GANONS_TOWER_BOSS_KEY_CHEST,
RHT_DELIVER_RUTOS_LETTER,
- RHT_MASTER_SWORD_PEDESTAL,
// Beehives
RHT_BEEHIVE_CHEST_GROTTO,
RHT_BEEHIVE_COW_GROTTO,
diff --git a/soh/soh/Enhancements/randomizer/settings.cpp b/soh/soh/Enhancements/randomizer/settings.cpp
index a9f7b4e64..d2f93fe98 100644
--- a/soh/soh/Enhancements/randomizer/settings.cpp
+++ b/soh/soh/Enhancements/randomizer/settings.cpp
@@ -2571,7 +2571,7 @@ void Context::FinalizeSettings(const std::set<RandomizerCheck>& excludedLocation
}
if (!mOptions[RSK_SHUFFLE_MASTER_SWORD]) {
if (mOptions[RSK_STARTING_MASTER_SWORD]) {
- this->GetItemLocation(RC_MASTER_SWORD_PEDESTAL)->SetExcludedOption(1);
+ this->GetItemLocation(RC_TOT_MASTER_SWORD)->SetExcludedOption(1);
}
}
if (!mOptions[RSK_SHUFFLE_OCARINA]) {