From 371708f6d0dd0dd1d7370b4e53cdda11e68ada06 Mon Sep 17 00:00:00 2001 From: AZero13 <83477269+SiliconA-Z@users.noreply.github.com> Date: Tue, 3 Mar 2026 10:33:47 -0500 Subject: [PATCH] Add gBattleOutcome == B_OUTCOME_DREW to bugfix Mirroring the change that Nintendo made when rereleasing FRLG on Switch, which addresses the Roamer BUG, they also added a check for B_OUTCOME_DREW. --- src/battle_main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index ed50332bb8..27314c256e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5234,10 +5234,13 @@ static void ReturnFromBattleToOverworld(void) UpdateRoamerHPStatus(&gEnemyParty[0]); #ifndef BUGFIX + // Bug: When Roar is used by a roamer, gBattleOutcome is B_OUTCOME_PLAYER_TELEPORTED (5), + // which deactivates the roamer. if ((gBattleOutcome & B_OUTCOME_WON) || gBattleOutcome == B_OUTCOME_CAUGHT) #else - if ((gBattleOutcome == B_OUTCOME_WON) || gBattleOutcome == B_OUTCOME_CAUGHT) // Bug: When Roar is used by roamer, gBattleOutcome is B_OUTCOME_PLAYER_TELEPORTED (5). -#endif // & with B_OUTCOME_WON (1) will return TRUE and deactivates the roamer. + if ((gBattleOutcome == B_OUTCOME_WON) || gBattleOutcome == B_OUTCOME_CAUGHT || + gBattleOutcome == B_OUTCOME_DREW) +#endif SetRoamerInactive(); }