Avoid illegal GetBattlerAtPosition (#8225)

This commit is contained in:
Martin Griffin 2025-11-11 20:57:04 +00:00 committed by GitHub
parent 44d4e0c1de
commit b8fc084daa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 9 deletions

View File

@ -4585,7 +4585,7 @@ static void Cmd_getexp(void)
if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER)
&& (gBattleMons[0].hp || (IsDoubleBattle() && gBattleMons[2].hp))
&& !IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT))
&& !IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))
&& (!IsDoubleBattle() || !IsBattlerAlive(GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
&& !gBattleStruct->wildVictorySong)
{
BattleStopLowHpSound();

View File

@ -7572,19 +7572,12 @@ static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 ba
{
u8 partyIndexes[PARTY_SIZE];
int i, j;
u8 leftBattler;
u8 rightBattler;
u8 leftBattler;
if (IsOnPlayerSide(battler))
{
leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
}
else
{
leftBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
rightBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
}
if (IsMultiBattle() == TRUE)
{
@ -7617,6 +7610,12 @@ static void BufferBattlePartyOrderBySide(u8 *partyBattleOrder, u8 flankId, u8 ba
}
else
{
u8 rightBattler;
if (IsOnPlayerSide(battler))
rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
else
rightBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
j = 2;
partyIndexes[0] = gBattlerPartyIndexes[leftBattler];
partyIndexes[1] = gBattlerPartyIndexes[rightBattler];