summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Dubé <159546+serprex@users.noreply.github.com>2026-04-21 16:02:33 +0000
committerGitHub <noreply@github.com>2026-04-21 16:02:33 +0000
commit69681e608f7597f13285bdb4cc11e804439ea373 (patch)
tree132b58a00814bb9ebb1ba7c86c175b0f2a69782e
parent719bb87eda32de53cba570c12e7397e37b5e6161 (diff)
Fix swimvoid in grottos to just respawn in grotto (#6529)
-rw-r--r--soh/soh/Enhancements/randomizer/hook_handlers.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/soh/soh/Enhancements/randomizer/hook_handlers.cpp b/soh/soh/Enhancements/randomizer/hook_handlers.cpp
index d6ff0dc5b..9ac629fe8 100644
--- a/soh/soh/Enhancements/randomizer/hook_handlers.cpp
+++ b/soh/soh/Enhancements/randomizer/hook_handlers.cpp
@@ -2616,7 +2616,16 @@ void RandomizerOnPlayerUpdateHandler() {
gSaveContext.respawn[RESPAWN_MODE_DOWN].yaw = respawn->second.yaw;
}
- Play_TriggerVoidOut(gPlayState);
+ if (gPlayState->sceneNum == SCENE_GROTTOS) {
+ // RESPAWN_MODE_DOWN isn't refreshed on grotto entry, reload grotto instead
+ gPlayState->nextEntranceIndex = gSaveContext.entranceIndex;
+ gPlayState->transitionTrigger = TRANS_TRIGGER_START;
+ gPlayState->transitionType = TRANS_TYPE_FADE_BLACK;
+ gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
+ gSaveContext.respawnFlag = 0;
+ } else {
+ Play_TriggerVoidOut(gPlayState);
+ }
}
}