diff options
author | Kurausukun <lord.uber1@gmail.com> | 2021-05-09 00:31:39 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2021-05-13 11:29:11 -0500 |
commit | f0453871a2bb5a35d446b177eb6f5feaa882df42 (patch) | |
tree | 58bdabfe4b1ce779e0db371713254861c2dc1d1d /src | |
parent | dbc1b9aacf9790c2ee6d5e732cae697b998f98fb (diff) |
fix battle_dome goto
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_dome.c | 46 |
1 files changed, 22 insertions, 24 deletions
diff --git a/src/battle_dome.c b/src/battle_dome.c index a5cf168ef..a3bf3dadf 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -5211,40 +5211,38 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun } j = bestId; - goto LABEL; - while (j != 0) + do { - for (j = 0, k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++) + for (i = 0; i < roundId - 1; i++) { - if (bestScore < moveScores[k]) - { - j = k; - bestScore = moveScores[k]; - } - else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) - { - j = k; - } + if (gSaveBlock2Ptr->frontier.domeWinningMoves[sub_81953E8(winnerTournamentId, i)] == moveIds[j]) + break; } - if (i == roundId - 1) - break; - LABEL: + if (i != roundId - 1) { - for (i = 0; i < roundId - 1; i++) - { - if (gSaveBlock2Ptr->frontier.domeWinningMoves[sub_81953E8(winnerTournamentId, i)] == moveIds[j]) - break; - } - if (i == roundId - 1) - break; - moveScores[j] = 0; bestScore = 0; j = 0; for (k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++) j += moveScores[k]; + if (j == 0) + break; + j = 0; + for (k = 0; k < MAX_MON_MOVES * FRONTIER_PARTY_SIZE; k++) + { + if (bestScore < moveScores[k]) + { + j = k; + bestScore = moveScores[k]; + } + else if (bestScore == moveScores[k] && moveIds[j] < moveIds[k]) // Yes, these conditions are redundant + { + j = k; + bestScore = moveScores[k]; + } + } } - } + } while (i != roundId - 1); if (moveScores[j] == 0) j = bestId; |