[Fixes] Fix for Zora hint dialogue condition with an inverted flag check (#3920)

* [Fixes] Fix for Zora hint dialogue condition with an inverted flag check

* Base dialogue off of ruto's letter flag

* simplify condition
This commit is contained in:
Ted Newman 2024-02-15 17:52:46 -08:00 committed by GitHub
parent 2c5cb58ef6
commit bbac8f8da4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 3 deletions

View File

@ -1236,6 +1236,8 @@ void DrawEnhancementsMenu() {
UIWidgets::PaddedEnhancementCheckbox("Fix Darunia dancing too fast", "gEnhancements.FixDaruniaDanceSpeed",
true, false, false, "", UIWidgets::CheckboxGraphics::Cross, true);
UIWidgets::Tooltip("Fixes Darunia's dancing speed so he dances to the beat of Saria's Song, like in vanilla.");
UIWidgets::PaddedEnhancementCheckbox("Fix Zora hint dialogue", "gFixZoraHintDialogue", true, false);
UIWidgets::Tooltip("Fixes one Zora's dialogue giving a hint about bringing Ruto's Letter to King Zora to properly occur before moving King Zora rather than after");
ImGui::EndMenu();
}

View File

@ -361,7 +361,7 @@ void EnZo_SpawnSplashes(EnZo* this) {
}
}
u16 func_80B61024(PlayState* play, Actor* thisx) {
u16 EnZo_GetTextId(PlayState* play, Actor* thisx) {
u16 textId;
textId = Text_GetFaceReaction(play, 29);
@ -427,7 +427,9 @@ u16 func_80B61024(PlayState* play, Actor* thisx) {
return 0x402D;
}
if (Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED)) {
if (Flags_GetEventChkInf(EVENTCHKINF_KING_ZORA_MOVED) ||
(CVarGetInteger("gFixZoraHintDialogue", 0) &&
Flags_GetEventChkInf(EVENTCHKINF_OBTAINED_RUTOS_LETTER))) {
return 0x4010;
}
if (Flags_GetEventChkInf(EVENTCHKINF_SPOKE_TO_A_ZORA)) {
@ -520,7 +522,7 @@ void EnZo_Dialog(EnZo* this, PlayState* play) {
}
Npc_TrackPoint(&this->actor, &this->interactInfo, 11, this->trackingMode);
if (this->canSpeak == true) {
Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->dialogRadius, func_80B61024,
Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->dialogRadius, EnZo_GetTextId,
func_80B61298);
}
}