summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Longstaff <JordanLongstaff@users.noreply.github.com>2026-09-26 12:26:36 -0400
committerGitHub <noreply@github.com>2026-09-26 16:26:36 +0000
commitca1e4c22505a7c2101ca816c31023daaf4e2638e (patch)
tree9f9658cb720637a70581c3a0636fb3d1d25f3228
parentcd38af795596101d6bd7d756cefa779f8b526e05 (diff)
Fix Skip Forced Text softlock (#7254)
-rw-r--r--soh/soh/Enhancements/TimeSavers/timesaver_hook_handlers.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/soh/soh/Enhancements/TimeSavers/timesaver_hook_handlers.cpp b/soh/soh/Enhancements/TimeSavers/timesaver_hook_handlers.cpp
index 5ad585885..bd6efb6db 100644
--- a/soh/soh/Enhancements/TimeSavers/timesaver_hook_handlers.cpp
+++ b/soh/soh/Enhancements/TimeSavers/timesaver_hook_handlers.cpp
@@ -456,6 +456,11 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
if (ForcedDialogIsDisabled(FORCED_DIALOG_SKIP_NPC) &&
!(gPlayState->sceneNum == SCENE_ZORAS_RIVER && IS_RANDO && RAND_GET_OPTION(RSK_FROGS_HINT))) {
*should = false;
+
+ // We should still come out of a softlock if the setting was changed during forced dialogue
+ if (GET_PLAYER(gPlayState)->csAction != 7) {
+ Player_SetCsAction(gPlayState, NULL, 7);
+ }
}
// If it's near a jailed carpenter, skip it along with introduction of Gerudo mini-boss