From 31999561483c95e2e751bd62a8b102d05fb03596 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 30 Nov 2025 11:44:41 +0100 Subject: [PATCH] Fixes battle tv overwriting damage values (#8378) --- src/battle_tv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_tv.c b/src/battle_tv.c index 2fc8fad7b7..50871baa82 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -1253,6 +1253,7 @@ static void TrySetBattleSeminarShow(void) dmgByMove[gMoveSelectionCursor[gBattlerAttacker]] = gBattleStruct->moveDamage[gBattlerTarget]; // TODO: Not sure currMoveSaved = gCurrentMove; + u16 storedMoveResultFlags = gBattleStruct->moveResultFlags[gBattlerTarget]; for (i = 0; i < MAX_MON_MOVES; i++) { gCurrentMove = gBattleMons[gBattlerAttacker].moves[i]; @@ -1269,8 +1270,7 @@ static void TrySetBattleSeminarShow(void) ctx.updateFlags = FALSE; ctx.isSelfInflicted = FALSE; ctx.fixedBasePower = powerOverride; - gBattleStruct->moveDamage[gBattlerTarget] = CalculateMoveDamage(&ctx); - dmgByMove[i] = gBattleStruct->moveDamage[gBattlerTarget]; + dmgByMove[i] = CalculateMoveDamage(&ctx); if (dmgByMove[i] == 0 && !(gBattleStruct->moveResultFlags[gBattlerTarget] & MOVE_RESULT_NO_EFFECT)) dmgByMove[i] = 1; } @@ -1301,8 +1301,8 @@ static void TrySetBattleSeminarShow(void) } } - gBattleStruct->moveDamage[gBattlerTarget] = dmgByMove[gMoveSelectionCursor[gBattlerAttacker]]; gCurrentMove = currMoveSaved; + gBattleStruct->moveResultFlags[gBattlerTarget] = storedMoveResultFlags; } static bool8 ShouldCalculateDamage(u16 move, s32 *dmg, u16 *powerOverride)