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:
@@ -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)) ||
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user