Change ability to abilityNum in CreateTrainerMon (#6370)
This commit is contained in:
parent
fb28206f21
commit
7a3acdf7fe
@ -1888,7 +1888,7 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer
|
||||
const struct TrainerMon *partyData = trainer->party;
|
||||
u32 otIdType = OT_ID_RANDOM_NO_SHINY;
|
||||
u32 fixedOtId = 0;
|
||||
u32 ability = 0;
|
||||
u32 abilityNum = 0;
|
||||
|
||||
if (trainer->doubleBattle == TRUE)
|
||||
personalityValue = 0x80;
|
||||
@ -1927,25 +1927,25 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer
|
||||
if (partyData[monIndex].ability != ABILITY_NONE)
|
||||
{
|
||||
const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[monIndex].species];
|
||||
u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities);
|
||||
for (ability = 0; ability < maxAbilities; ++ability)
|
||||
u32 maxAbilityNum = ARRAY_COUNT(speciesInfo->abilities);
|
||||
for (abilityNum = 0; abilityNum < maxAbilityNum; ++abilityNum)
|
||||
{
|
||||
if (speciesInfo->abilities[ability] == partyData[monIndex].ability)
|
||||
if (speciesInfo->abilities[abilityNum] == partyData[monIndex].ability)
|
||||
break;
|
||||
}
|
||||
if (ability >= maxAbilities)
|
||||
ability = 0;
|
||||
if (abilityNum >= maxAbilityNum)
|
||||
abilityNum = 0;
|
||||
}
|
||||
else if (B_TRAINER_MON_RANDOM_ABILITY)
|
||||
{
|
||||
const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[monIndex].species];
|
||||
ability = personalityHash % 3;
|
||||
while (speciesInfo->abilities[ability] == ABILITY_NONE)
|
||||
abilityNum = personalityHash % 3;
|
||||
while (speciesInfo->abilities[abilityNum] == ABILITY_NONE)
|
||||
{
|
||||
ability--;
|
||||
abilityNum--;
|
||||
}
|
||||
}
|
||||
SetMonData(&party[i], MON_DATA_ABILITY_NUM, &ability);
|
||||
SetMonData(&party[i], MON_DATA_ABILITY_NUM, &abilityNum);
|
||||
SetMonData(&party[i], MON_DATA_FRIENDSHIP, &(partyData[monIndex].friendship));
|
||||
if (partyData[monIndex].ball != ITEM_NONE)
|
||||
{
|
||||
|
||||
@ -134,7 +134,7 @@ SINGLE_BATTLE_TEST("Charge will not expire if it flinches twice in a row")
|
||||
{
|
||||
s16 damage[2];
|
||||
GIVEN {
|
||||
ASSUME(GetMoveAdditionalEffectById(MOVE_IRON_HEAD, 0)->moveEffect == MOVE_EFFECT_FLINCH);
|
||||
ASSUME(GetMoveAdditionalEffectById(MOVE_IRON_HEAD, 0)->moveEffect == MOVE_EFFECT_FLINCH);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LUM_BERRY); }
|
||||
} WHEN {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user