Merge pull request #1423 from garrettjoecox/fix-for-scrubs-being-disabled

Fix issue when merchantPrices is empty
This commit is contained in:
briaguya 2022-09-06 01:05:16 -04:00 committed by GitHub
commit d2682998c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -94,7 +94,13 @@ void SaveManager::LoadRandomizerVersion1() {
std::shared_ptr<Randomizer> randomizer = OTRGlobals::Instance->gRandomizer;
SaveManager::Instance->LoadArray("merchantPrices", NUM_SCRUBS, [&](size_t i) {
size_t merchantPricesSize = 0;
if (randomizer->GetRandoSettingValue(RSK_SHUFFLE_SCRUBS) > 0) {
merchantPricesSize += NUM_SCRUBS;
}
// TODO: Add shop item count when shopsanity is enabled
SaveManager::Instance->LoadArray("merchantPrices", merchantPricesSize, [&](size_t i) {
SaveManager::Instance->LoadStruct("", [&]() {
RandomizerCheck rc;
SaveManager::Instance->LoadData("check", rc);
@ -155,7 +161,7 @@ void SaveManager::SaveRandomizer() {
merchantPrices.push_back(std::make_pair(check, price));
}
SaveManager::Instance->SaveArray("merchantPrices", NUM_SCRUBS, [&](size_t i) {
SaveManager::Instance->SaveArray("merchantPrices", merchantPrices.size(), [&](size_t i) {
SaveManager::Instance->SaveStruct("", [&]() {
SaveManager::Instance->SaveData("check", merchantPrices[i].first);
SaveManager::Instance->SaveData("price", merchantPrices[i].second);