Removed TrainerMonNoItemDefaultMoves

This commit is contained in:
Eduardo Quezada 2023-07-04 21:29:58 -04:00
parent 9c961b4fd5
commit 3dd7a2c09e
9 changed files with 1347 additions and 1410 deletions

View File

@ -52,19 +52,10 @@ struct TrainerMonCustomized
bool8 isShiny : 1;
};
struct TrainerMonNoItemDefaultMoves
{
u16 iv;
u8 lvl;
u16 species;
};
#define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0
#define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED
union TrainerMonPtr
{
const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
const struct TrainerMonCustomized *EverythingCustomized;
};

View File

@ -1885,12 +1885,7 @@ static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i)
{
const u8 *buffer;
u32 n;
if (trainer->partyFlags == 0)
{
buffer = (const u8 *) &trainer->party.NoItemDefaultMoves[i];
n = sizeof(*trainer->party.NoItemDefaultMoves);
}
else if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED)
if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED)
{
buffer = (const u8 *) &trainer->party.EverythingCustomized[i];
n = sizeof(*trainer->party.EverythingCustomized);
@ -1982,13 +1977,6 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer
personalityValue += personalityHash << 8;
switch (trainer->partyFlags)
{
case 0:
{
const struct TrainerMonNoItemDefaultMoves *partyData = trainer->party.NoItemDefaultMoves;
fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0);
break;
}
case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED:
{
const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized;

View File

@ -7339,12 +7339,6 @@ static u32 GetTrainerMoneyToGive(u16 trainerId)
{
switch (gTrainers[trainerId].partyFlags)
{
case 0:
{
const struct TrainerMonNoItemDefaultMoves *party = gTrainers[trainerId].party.NoItemDefaultMoves;
lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl;
}
break;
case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED:
{
const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized;

View File

@ -766,14 +766,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons)
switch (gTrainers[opponentId].partyFlags)
{
case 0:
{
const struct TrainerMonNoItemDefaultMoves *party;
party = gTrainers[opponentId].party.NoItemDefaultMoves;
for (i = 0; i < count; i++)
sum += party[i].lvl;
}
break;
case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED:
{
const struct TrainerMonCustomized *party;

View File

@ -3056,13 +3056,6 @@ static void FillPartnerParty(u16 trainerId)
switch (gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partyFlags)
{
case 0:
{
const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.NoItemDefaultMoves;
CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID);
break;
}
case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED:
{
const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1799,10 +1799,7 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr)
switch (gTrainers[trainerId].partyFlags)
{
case 0:
default:
speciesName = gSpeciesNames[party.NoItemDefaultMoves[monId].species];
break;
case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED:
speciesName = gSpeciesNames[party.EverythingCustomized[monId].species];
break;

View File

@ -35,30 +35,12 @@ static const struct TrainerMonCustomized sTestParty1[] =
},
};
static const struct TrainerMonNoItemDefaultMoves sTestParty2[] =
{
{
.species = SPECIES_WOBBUFFET,
.lvl = 5,
},
{
.species = SPECIES_WOBBUFFET,
.lvl = 6,
}
};
static const struct Trainer sTestTrainer1 =
{
.trainerName = _("Test1"),
.party = EVERYTHING_CUSTOMIZED(sTestParty1),
};
static const struct Trainer sTestTrainer2 =
{
.trainerName = _("Test2"),
.party = NO_ITEM_DEFAULT_MOVES(sTestParty2),
};
TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon")
{
struct Pokemon *testParty = Alloc(6 * sizeof(struct Pokemon));
@ -134,7 +116,7 @@ TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon")
TEST("CreateNPCTrainerPartyForTrainer generates different personalities for different mons")
{
struct Pokemon *testParty = Alloc(6 * sizeof(struct Pokemon));
CreateNPCTrainerPartyFromTrainer(testParty, &sTestTrainer2, TRUE, BATTLE_TYPE_TRAINER);
CreateNPCTrainerPartyFromTrainer(testParty, &sTestTrainer1, TRUE, BATTLE_TYPE_TRAINER);
EXPECT(testParty[0].box.personality != testParty[1].box.personality);
Free(testParty);
}