summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
+ }
}
}