Adds missing case for RSK_GERUDO_KEYS from spoilerfile parsing.

This commit is contained in:
Christopher Leggett 2022-08-29 00:09:44 -04:00
parent 35d651f06e
commit 0a27714b8e
No known key found for this signature in database
GPG Key ID: 7093AE5FF7037D79

View File

@ -875,6 +875,19 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
gSaveContext.randoSettings[index].value = 3;
}
break;
case RSK_GERUDO_KEYS:
if (it.value() == "Vanilla") {
gSaveContext.randoSettings[index].value = 0;
}
if (it.value() == "Any Dungeon") {
gSaveContext.randoSettings[index].value = 1;
}
if (it.value() == "Overworld") {
gSaveContext.randoSettings[index].value = 2;
}
if (it.value() == "Anywhere") {
gSaveContext.randoSettings[index].value = 3;
}
case RSK_KEYSANITY:
if(it.value() == "Start With") {
gSaveContext.randoSettings[index].value = 0;
@ -1461,13 +1474,18 @@ s16 Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId) {
case RG_SHADOW_TEMPLE_SMALL_KEY:
case RG_BOTTOM_OF_THE_WELL_SMALL_KEY:
case RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY:
case RG_GERUDO_FORTRESS_SMALL_KEY:
case RG_GANONS_CASTLE_SMALL_KEY:
if (GetRandoSettingValue(RSK_KEYSANITY) < 3) {
return GI_KEY_SMALL;
} else {
return randoGet;
}
case RG_GERUDO_FORTRESS_SMALL_KEY:
if (GetRandoSettingValue(RSK_GERUDO_KEYS) == 0) {
return GI_KEY_SMALL;
} else {
return randoGet;
}
// todo test this with keys in own dungeon
case RG_TREASURE_GAME_SMALL_KEY:
@ -1686,12 +1704,16 @@ bool Randomizer::IsItemVanilla(RandomizerGet randoGet) {
case RG_SHADOW_TEMPLE_SMALL_KEY:
case RG_BOTTOM_OF_THE_WELL_SMALL_KEY:
case RG_GERUDO_TRAINING_GROUNDS_SMALL_KEY:
case RG_GERUDO_FORTRESS_SMALL_KEY:
case RG_GANONS_CASTLE_SMALL_KEY:
if (GetRandoSettingValue(RSK_KEYSANITY) > 2) {
return false;
}
return true;
case RG_GERUDO_FORTRESS_SMALL_KEY:
if (GetRandoSettingValue(RSK_GERUDO_KEYS != 0)) {
return false
}
return true;
case RG_FOREST_TEMPLE_BOSS_KEY:
case RG_FIRE_TEMPLE_BOSS_KEY:
case RG_WATER_TEMPLE_BOSS_KEY: