mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-01-30 23:10:14 -05:00
fix greg hint (and an RSK parsing issue) (#2547)
* fix RSK parsing error introduced by #2541 * add logic to not give greg hint when we shouldn't --------- Co-authored-by: briaguya <briaguya@alice>
This commit is contained in:
parent
9ec091a636
commit
061e232685
@ -853,6 +853,13 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
|
||||
case RSK_MIX_GROTTO_ENTRANCES:
|
||||
case RSK_DECOUPLED_ENTRANCES:
|
||||
case RSK_SHOPSANITY_PRICES_AFFORDABLE:
|
||||
case RSK_ALL_LOCATIONS_REACHABLE:
|
||||
if(it.value() == "Off") {
|
||||
gSaveContext.randoSettings[index].value = RO_GENERIC_OFF;
|
||||
} else if(it.value() == "On") {
|
||||
gSaveContext.randoSettings[index].value = RO_GENERIC_ON;
|
||||
}
|
||||
break;
|
||||
case RSK_KEYRINGS:
|
||||
if (it.value() == "Off") {
|
||||
gSaveContext.randoSettings[index].value = RO_KEYRINGS_OFF;
|
||||
@ -864,13 +871,6 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
|
||||
gSaveContext.randoSettings[index].value = RO_KEYRINGS_SELECTION;
|
||||
}
|
||||
break;
|
||||
case RSK_ALL_LOCATIONS_REACHABLE:
|
||||
if(it.value() == "Off") {
|
||||
gSaveContext.randoSettings[index].value = RO_GENERIC_OFF;
|
||||
} else if(it.value() == "On") {
|
||||
gSaveContext.randoSettings[index].value = RO_GENERIC_ON;
|
||||
}
|
||||
break;
|
||||
case RSK_SHUFFLE_MERCHANTS:
|
||||
if(it.value() == "Off") {
|
||||
gSaveContext.randoSettings[index].value = RO_SHUFFLE_MERCHANTS_OFF;
|
||||
@ -890,21 +890,6 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
|
||||
gSaveContext.randoSettings[index].value = RO_AMMO_DROPS_OFF;
|
||||
}
|
||||
break;
|
||||
case RSK_STARTING_MAPS_COMPASSES:
|
||||
if(it.value() == "Start With") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_STARTWITH;
|
||||
} else if(it.value() == "Vanilla") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_VANILLA;
|
||||
} else if(it.value() == "Own Dungeon") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_OWN_DUNGEON;
|
||||
} else if(it.value() == "Any Dungeon") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_ANY_DUNGEON;
|
||||
} else if(it.value() == "Overworld") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_OVERWORLD;
|
||||
} else if(it.value() == "Anywhere") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_ANYWHERE;
|
||||
}
|
||||
break;
|
||||
case RSK_STARTING_OCARINA:
|
||||
if(it.value() == "Off") {
|
||||
gSaveContext.randoSettings[index].value = RO_STARTING_OCARINA_OFF;
|
||||
@ -977,21 +962,8 @@ void Randomizer::ParseRandomizerSettingsFile(const char* spoilerFileName) {
|
||||
}
|
||||
break;
|
||||
case RSK_KEYSANITY:
|
||||
if(it.value() == "Start With") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_STARTWITH;
|
||||
} else if(it.value() == "Vanilla") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_VANILLA;
|
||||
} else if(it.value() == "Own Dungeon") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_OWN_DUNGEON;
|
||||
} else if(it.value() == "Any Dungeon") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_ANY_DUNGEON;
|
||||
} else if(it.value() == "Overworld") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_OVERWORLD;
|
||||
} else if(it.value() == "Anywhere") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_ANYWHERE;
|
||||
}
|
||||
break;
|
||||
case RSK_BOSS_KEYSANITY:
|
||||
case RSK_STARTING_MAPS_COMPASSES:
|
||||
if(it.value() == "Start With") {
|
||||
gSaveContext.randoSettings[index].value = RO_DUNGEON_ITEM_LOC_STARTWITH;
|
||||
} else if(it.value() == "Vanilla") {
|
||||
|
@ -1648,7 +1648,7 @@ extern "C" int CustomMessage_RetrieveIfExists(PlayState* play) {
|
||||
}
|
||||
} else if (Randomizer_GetSettingValue(RSK_DAMPES_DIARY_HINT) && textId == TEXT_DAMPES_DIARY) {
|
||||
messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_DAMPES_DIARY);
|
||||
} else if (Randomizer_GetSettingValue(RSK_GREG_HINT) && (textId == 0x704C || textId == 0x6E || textId == 0x84)) {
|
||||
} else if (Randomizer_GetSettingValue(RSK_GREG_HINT) && (textId == 0x704C || textId == 0x6E)) {
|
||||
messageEntry = CustomMessageManager::Instance->RetrieveMessage(Randomizer::randoMiscHintsTableID, TEXT_CHEST_GAME_PROCEED);
|
||||
} else if (Randomizer_GetSettingValue(RSK_SHUFFLE_WARP_SONGS) &&
|
||||
(textId >= TEXT_WARP_MINUET_OF_FOREST && textId <= TEXT_WARP_PRELUDE_OF_LIGHT)) {
|
||||
|
@ -104,7 +104,14 @@ void func_80B1778C(EnTakaraMan* this, PlayState* play) {
|
||||
|
||||
if (!this->unk_21A && this->unk_214) {
|
||||
if (Flags_GetSwitch(play, 0x32)) {
|
||||
this->actor.textId = 0x84; //Thanks a lot! (Lost)
|
||||
// text id 0x84 is used in places other than the treasure chest game.
|
||||
// in order to provide a unique text id that can be replaced for the custom
|
||||
// greg hint, we set it to 0x6E instead
|
||||
if (gSaveContext.n64ddFlag && Randomizer_GetSettingValue(RSK_GREG_HINT)) {
|
||||
this->actor.textId = 0x6E;
|
||||
} else {
|
||||
this->actor.textId = 0x84; //Thanks a lot! (Lost)
|
||||
}
|
||||
this->dialogState = TEXT_STATE_EVENT;
|
||||
} else {
|
||||
this->actor.textId = 0x704C; //Proceed
|
||||
|
Loading…
Reference in New Issue
Block a user