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 | |
parent | 56746748402b691a6fa4fb45a2091dac31d92f7d (diff) |
Copy the Trainer struct from pokeemerald.
Also regenerate trainers*.h
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/battle_2.c | 14 | ||||
-rw-r--r-- | src/battle/battle_setup.c | 43 |
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; } |