From d01442299ac3d539d4829b3631ecd7f5ace086c1 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Mon, 16 Feb 2026 13:58:57 -0800 Subject: [PATCH] Running from trainer battles properly handles whiteouts (#9228) --- src/battle_setup.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/battle_setup.c b/src/battle_setup.c index 9b8a669255..59cb31a515 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1321,6 +1321,13 @@ static void CB2_EndTrainerBattle(void) DowngradeBadPoison(); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } + else if (DidPlayerForfeitNormalTrainerBattle()) + { + if (FlagGet(B_FLAG_NO_WHITEOUT) || CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || InTrainerHillChallenge()) + SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); + else + SetMainCallback2(CB2_WhiteOut); + } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { if (CurrentBattlePyramidLocation() != PYRAMID_LOCATION_NONE || InTrainerHillChallenge() || (!NoAliveMonsForPlayer()) || FlagGet(B_FLAG_NO_WHITEOUT)) @@ -1328,10 +1335,6 @@ static void CB2_EndTrainerBattle(void) else SetMainCallback2(CB2_WhiteOut); } - else if (DidPlayerForfeitNormalTrainerBattle()) - { - SetMainCallback2(CB2_WhiteOut); - } else { SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);