diff options
| author | Philip Dubé <159546+serprex@users.noreply.github.com> | 2026-04-21 16:02:33 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-21 16:02:33 +0000 |
| commit | 69681e608f7597f13285bdb4cc11e804439ea373 (patch) | |
| tree | 132b58a00814bb9ebb1ba7c86c175b0f2a69782e | |
| parent | 719bb87eda32de53cba570c12e7397e37b5e6161 (diff) | |
Fix swimvoid in grottos to just respawn in grotto (#6529)
| -rw-r--r-- | soh/soh/Enhancements/randomizer/hook_handlers.cpp | 11 |
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); + } } } |
