diff options
author | vblm12 <vblm12@gmail.com> | 2018-07-20 21:46:31 -0500 |
---|---|---|
committer | vblm12 <vblm12@gmail.com> | 2018-07-20 21:46:31 -0500 |
commit | faf554de7af7712f91ab117f957b691a052344bf (patch) | |
tree | d11a693b66b7a749566fdf5b1b3304901bfe9713 /src/battle/battle_setup.c | |
parent | 56746748402b691a6fa4fb45a2091dac31d92f7d (diff) |
Copy the Trainer struct from pokeemerald.
Also regenerate trainers*.h
Diffstat (limited to 'src/battle/battle_setup.c')
-rw-r--r-- | src/battle/battle_setup.c | 43 |
1 files changed, 27 insertions, 16 deletions
diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index c1d486bd1..fc929eb4d 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -748,7 +748,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) u8 i; u8 sum; u32 count = numMons; - const void *party; if (gTrainers[opponentId].partySize < count) count = gTrainers[opponentId].partySize; @@ -758,24 +757,36 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) switch (gTrainers[opponentId].partyFlags) { case 0: - party = gTrainers[opponentId].party; - for (i = 0; i < count; i++) - sum += ((struct TrainerPartyMember0 *)party)[i].level; + { + const struct TrainerMonNoItemDefaultMoves *party; + party = gTrainers[opponentId].party.NoItemDefaultMoves; + for (i = 0; i < count; i++) + sum += party[i].level; + } break; - case 1: - party = gTrainers[opponentId].party; - for (i = 0; i < count; i++) - sum += ((struct TrainerPartyMember1 *)party)[i].level; + case F_TRAINER_PARTY_CUSTOM_MOVESET: + { + const struct TrainerMonNoItemCustomMoves *party; + party = gTrainers[opponentId].party.NoItemCustomMoves; + for (i = 0; i < count; i++) + sum += party[i].level; + } break; - case 2: - party = gTrainers[opponentId].party; - for (i = 0; i < count; i++) - sum += ((struct TrainerPartyMember2 *)party)[i].level; + case F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemDefaultMoves *party; + party = gTrainers[opponentId].party.ItemDefaultMoves; + for (i = 0; i < count; i++) + sum += party[i].level; + } break; - case 3: - party = gTrainers[opponentId].party; - for (i = 0; i < count; i++) - sum += ((struct TrainerPartyMember3 *)party)[i].level; + case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: + { + const struct TrainerMonItemCustomMoves *party; + party = gTrainers[opponentId].party.ItemCustomMoves; + for (i = 0; i < count; i++) + sum += party[i].level; + } break; } |