Fixes battle tv overwriting damage values (#8378)

This commit is contained in:
Alex 2025-11-30 11:44:41 +01:00 committed by GitHub
parent dfd8daac2e
commit 3199956148
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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)