Fix excluded location seed bleed
This commit is contained in:
@@ -438,6 +438,7 @@ void Context::ParseArchipelago() {
|
|||||||
ParseArchipelagoItemsLocations(apClient.GetScoutedItems());
|
ParseArchipelagoItemsLocations(apClient.GetScoutedItems());
|
||||||
ParseArchipelagoOptions();
|
ParseArchipelagoOptions();
|
||||||
ParseArchipelagoTricks();
|
ParseArchipelagoTricks();
|
||||||
|
ParseArchipelagoExcludedLocations();
|
||||||
mEntranceShuffler->UnshuffleAllEntrances();
|
mEntranceShuffler->UnshuffleAllEntrances();
|
||||||
mDungeons->ResetAllDungeons();
|
mDungeons->ResetAllDungeons();
|
||||||
mTrials->RemoveAllTrials();
|
mTrials->RemoveAllTrials();
|
||||||
@@ -758,6 +759,15 @@ void Context::ParseArchipelagoTricks() {
|
|||||||
// See Context::ParseTricksJson for more info
|
// See Context::ParseTricksJson for more info
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Context::ParseArchipelagoExcludedLocations() {
|
||||||
|
// Maybe eventually we can add locations that are excluded on AP's side.
|
||||||
|
// For now, remove all of them to prevent seed bleed from normal rando seeds.
|
||||||
|
const auto ctx = Rando::Context::GetInstance();
|
||||||
|
for (int count = 0; count < RC_MAX; count++) {
|
||||||
|
ctx->GetItemLocation(count)->SetExcludedOption(RO_GENERIC_OFF);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
void Context::ParseArchipelagoItemsLocations(const std::vector<ArchipelagoClient::ApItem>& scouted_items) {
|
void Context::ParseArchipelagoItemsLocations(const std::vector<ArchipelagoClient::ApItem>& scouted_items) {
|
||||||
const std::string SlotName = ArchipelagoClient::GetInstance().GetSlotName();
|
const std::string SlotName = ArchipelagoClient::GetInstance().GetSlotName();
|
||||||
nlohmann::json slotData = ArchipelagoClient::GetInstance().GetSlotData();
|
nlohmann::json slotData = ArchipelagoClient::GetInstance().GetSlotData();
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ class Context {
|
|||||||
void ParseArchipelago();
|
void ParseArchipelago();
|
||||||
void ParseArchipelagoOptions();
|
void ParseArchipelagoOptions();
|
||||||
void ParseArchipelagoTricks();
|
void ParseArchipelagoTricks();
|
||||||
|
void ParseArchipelagoExcludedLocations();
|
||||||
void ParseArchipelagoItemsLocations(const std::vector<ArchipelagoClient::ApItem>& slot_data);
|
void ParseArchipelagoItemsLocations(const std::vector<ArchipelagoClient::ApItem>& slot_data);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user