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
This commit is contained in:
Pepper0ni
2025-08-25 19:59:47 +01:00
committed by GitHub
parent b6166f41c8
commit 224efe2946
4 changed files with 3 additions and 5 deletions

View File

@@ -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.) // 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 || if (location.GetRandomizerCheck() == RC_UNKNOWN_CHECK ||
location.GetRandomizerCheck() == RC_TRIFORCE_COMPLETED || // already in pool 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)) || mOptions[RSK_SHUFFLE_MASTER_SWORD].Is(RO_GENERIC_OFF)) ||
(location.GetRandomizerCheck() == RC_KAK_100_GOLD_SKULLTULA_REWARD && (location.GetRandomizerCheck() == RC_KAK_100_GOLD_SKULLTULA_REWARD &&
mOptions[RSK_SHUFFLE_100_GS_REWARD].Is(RO_GENERIC_OFF)) || mOptions[RSK_SHUFFLE_100_GS_REWARD].Is(RO_GENERIC_OFF)) ||

View File

@@ -884,7 +884,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_l
break; break;
} }
case VB_GIVE_ITEM_MASTER_SWORD: 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; *should = false;
} else { } else {
*should = true; *should = true;

View File

@@ -2609,7 +2609,6 @@ typedef enum {
RC_PIERRE, RC_PIERRE,
RC_DELIVER_RUTOS_LETTER, RC_DELIVER_RUTOS_LETTER,
RC_MASTER_SWORD_PEDESTAL,
RC_KF_DEKU_TREE_LEFT_GOSSIP_STONE, RC_KF_DEKU_TREE_LEFT_GOSSIP_STONE,
RC_KF_DEKU_TREE_RIGHT_GOSSIP_STONE, RC_KF_DEKU_TREE_RIGHT_GOSSIP_STONE,
RC_KF_GOSSIP_STONE, RC_KF_GOSSIP_STONE,
@@ -4902,7 +4901,6 @@ typedef enum {
RHT_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT, RHT_GANONS_CASTLE_MQ_DEKU_SCRUB_RIGHT,
RHT_GANONS_TOWER_BOSS_KEY_CHEST, RHT_GANONS_TOWER_BOSS_KEY_CHEST,
RHT_DELIVER_RUTOS_LETTER, RHT_DELIVER_RUTOS_LETTER,
RHT_MASTER_SWORD_PEDESTAL,
// Beehives // Beehives
RHT_BEEHIVE_CHEST_GROTTO, RHT_BEEHIVE_CHEST_GROTTO,
RHT_BEEHIVE_COW_GROTTO, RHT_BEEHIVE_COW_GROTTO,

View File

@@ -2571,7 +2571,7 @@ void Context::FinalizeSettings(const std::set<RandomizerCheck>& excludedLocation
} }
if (!mOptions[RSK_SHUFFLE_MASTER_SWORD]) { if (!mOptions[RSK_SHUFFLE_MASTER_SWORD]) {
if (mOptions[RSK_STARTING_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]) { if (!mOptions[RSK_SHUFFLE_OCARINA]) {