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)