summaryrefslogtreecommitdiff
path: root/src/battle
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
parent56746748402b691a6fa4fb45a2091dac31d92f7d (diff)
Copy the Trainer struct from pokeemerald.
Also regenerate trainers*.h
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/battle_2.c14
-rw-r--r--src/battle/battle_setup.c43
2 files changed, 34 insertions, 23 deletions
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index 7b6004ce0..5a71733b8 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -1055,7 +1055,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
{
case 0:
{
- const struct TrainerPartyMember0 *partyData = gTrainers[trainerNum].party;
+ const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerNum].party.NoItemDefaultMoves;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@@ -1064,9 +1064,9 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0);
break;
}
- case 1:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET:
{
- const struct TrainerPartyMember1 *partyData = gTrainers[trainerNum].party;
+ const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerNum].party.NoItemCustomMoves;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@@ -1081,9 +1081,9 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
}
break;
}
- case 2:
+ case F_TRAINER_PARTY_HELD_ITEM:
{
- const struct TrainerPartyMember2 *partyData = gTrainers[trainerNum].party;
+ const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerNum].party.ItemDefaultMoves;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
@@ -1094,9 +1094,9 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
break;
}
- case 3:
+ case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM:
{
- const struct TrainerPartyMember3 *partyData = gTrainers[trainerNum].party;
+ const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerNum].party.ItemCustomMoves;
for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++)
nameHash += gSpeciesNames[partyData[i].species][j];
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;
}