diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 04db81a59e..83c0557846 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -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(); diff --git a/src/party_menu.c b/src/party_menu.c index 5094bfcb9f..ebf6c7e131 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -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];