summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Longstaff <JordanLongstaff@users.noreply.github.com>2026-05-18 22:19:21 -0400
committerGitHub <noreply@github.com>2026-05-18 22:19:21 -0400
commit892aa02461b04cdf5f46fac11756eb5e33e445db (patch)
treef56b6c363524d205cc9f055180fea05564d6928c
parentc9a3b54ec16d3059a731fe47f4aa3bd5d736f33d (diff)
Execute moon crash hooks during edge case (#1691)
-rw-r--r--mm/src/code/z_parameter.c6
1 files changed, 6 insertions, 0 deletions
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;