From 892aa02461b04cdf5f46fac11756eb5e33e445db Mon Sep 17 00:00:00 2001 From: Jordan Longstaff Date: Mon, 18 May 2026 22:19:21 -0400 Subject: Execute moon crash hooks during edge case (#1691) --- mm/src/code/z_parameter.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mm/src/code/z_parameter.c') diff --git a/mm/src/code/z_parameter.c b/mm/src/code/z_parameter.c index 9972a1e00..0872d552e 100644 --- a/mm/src/code/z_parameter.c +++ b/mm/src/code/z_parameter.c @@ -8337,6 +8337,12 @@ void Interface_DrawTimers(PlayState* play) { if (sTimerId == TIMER_ID_MOON_CRASH) { gSaveContext.save.day = 4; if ((play->sceneId == SCENE_OKUJOU) && (gSaveContext.sceneLayer == 3)) { + // This is a moon crash edge case that only occurs if the player played Oath to Order + // without saving the Four Giants. An extra cutscene plays in Termina Field before the + // standard moon crash cutscene, and Interface_StartMoonCrash never gets called. Therefore, + // we add an extra call here to execute the moon crash hooks. + GameInteractor_ExecuteBeforeMoonCrash(); + play->nextEntrance = ENTRANCE(TERMINA_FIELD, 1); gSaveContext.nextCutsceneIndex = 0xFFF0; play->transitionTrigger = TRANS_TRIGGER_START; -- cgit v1.2.3