summaryrefslogtreecommitdiff
path: root/src/battle/battle_setup.c
diff options
context:
space:
mode:
authorvblm12 <vblm12@gmail.com>2018-07-20 21:46:31 -0500
committervblm12 <vblm12@gmail.com>2018-07-20 21:46:31 -0500
commitfaf554de7af7712f91ab117f957b691a052344bf (patch)
treed11a693b66b7a749566fdf5b1b3304901bfe9713 /src/battle/battle_setup.c
parent56746748402b691a6fa4fb45a2091dac31d92f7d (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.c43
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;
}