Fix: some greg hint stuff (#2557)

Co-authored-by: briaguya <briaguya@alice>
This commit is contained in:
briaguya 2023-02-28 12:23:22 -05:00 committed by GitHub
parent c91a044d46
commit 2df6acc908
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 10 deletions

View File

@ -1648,7 +1648,9 @@ 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)) {
} else if (play->sceneNum == SCENE_TAKARAYA &&
Randomizer_GetSettingValue(RSK_GREG_HINT) &&
(textId == 0x704C || textId == 0x6E || textId == 0x84)) {
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)) {

View File

@ -104,15 +104,11 @@ void func_80B1778C(EnTakaraMan* this, PlayState* play) {
if (!this->unk_21A && this->unk_214) {
if (Flags_GetSwitch(play, 0x32)) {
// 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;
this->actor.textId = 0x84; //Thanks a lot! (Lost)
// with text state event, it is only possible to talk to the person running the game
// once. we want the player to be able to ask again if they accidentally blast through
// the greg hint box, so we check for greg hint here
this->dialogState = Randomizer_GetSettingValue(RSK_GREG_HINT) ? TEXT_STATE_DONE : TEXT_STATE_EVENT;
} else {
this->actor.textId = 0x704C; //Proceed
this->dialogState = TEXT_STATE_DONE;