Use constants for max IVs & the random IV generation flag
This commit is contained in:
+16
-16
@@ -2247,7 +2247,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
|
||||
SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value);
|
||||
SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2Ptr->playerGender);
|
||||
|
||||
if (fixedIV < 32)
|
||||
if (fixedIV < USE_RANDOM_IVS)
|
||||
{
|
||||
SetBoxMonData(boxMon, MON_DATA_HP_IV, &fixedIV);
|
||||
SetBoxMonData(boxMon, MON_DATA_ATK_IV, &fixedIV);
|
||||
@@ -2261,20 +2261,20 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
|
||||
u32 iv;
|
||||
value = Random();
|
||||
|
||||
iv = value & 0x1F;
|
||||
iv = value & MAX_IV_MASK;
|
||||
SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv);
|
||||
iv = (value & 0x3E0) >> 5;
|
||||
iv = (value & (MAX_IV_MASK << 5)) >> 5;
|
||||
SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv);
|
||||
iv = (value & 0x7C00) >> 10;
|
||||
iv = (value & (MAX_IV_MASK << 10)) >> 10;
|
||||
SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv);
|
||||
|
||||
value = Random();
|
||||
|
||||
iv = value & 0x1F;
|
||||
iv = value & MAX_IV_MASK;
|
||||
SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv);
|
||||
iv = (value & 0x3E0) >> 5;
|
||||
iv = (value & (MAX_IV_MASK << 5)) >> 5;
|
||||
SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv);
|
||||
iv = (value & 0x7C00) >> 10;
|
||||
iv = (value & (MAX_IV_MASK << 10)) >> 10;
|
||||
SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv);
|
||||
}
|
||||
|
||||
@@ -2342,7 +2342,7 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level)
|
||||
personality = Random32();
|
||||
}
|
||||
while (GetGenderFromSpeciesAndPersonality(species, personality) != MON_MALE);
|
||||
CreateMon(mon, species, level, 32, 1, personality, OT_ID_PRESET, otId);
|
||||
CreateMon(mon, species, level, USE_RANDOM_IVS, 1, personality, OT_ID_PRESET, otId);
|
||||
}
|
||||
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality)
|
||||
@@ -2524,7 +2524,7 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
|
||||
CreateMon(mon,
|
||||
src->party[monId].species,
|
||||
GetFrontierEnemyMonLevel(src->lvlMode - 1),
|
||||
0x1F,
|
||||
MAX_PER_STAT_IVS,
|
||||
TRUE,
|
||||
personality,
|
||||
OT_ID_PRESET,
|
||||
@@ -2761,7 +2761,7 @@ void CreateObedientEnemyMon(void)
|
||||
s32 itemId = gSpecialVar_0x8006;
|
||||
|
||||
ZeroEnemyPartyMons();
|
||||
CreateObedientMon(&gEnemyParty[0], species, level, 32, 0, 0, 0, 0);
|
||||
CreateObedientMon(&gEnemyParty[0], species, level, USE_RANDOM_IVS, 0, 0, 0, 0);
|
||||
if (itemId)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
@@ -4314,12 +4314,12 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg)
|
||||
case MON_DATA_IVS:
|
||||
{
|
||||
u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24);
|
||||
substruct3->hpIV = ivs & 0x1F;
|
||||
substruct3->attackIV = (ivs >> 5) & 0x1F;
|
||||
substruct3->defenseIV = (ivs >> 10) & 0x1F;
|
||||
substruct3->speedIV = (ivs >> 15) & 0x1F;
|
||||
substruct3->spAttackIV = (ivs >> 20) & 0x1F;
|
||||
substruct3->spDefenseIV = (ivs >> 25) & 0x1F;
|
||||
substruct3->hpIV = ivs & MAX_PER_STAT_IVS;
|
||||
substruct3->attackIV = (ivs >> 5) & MAX_PER_STAT_IVS;
|
||||
substruct3->defenseIV = (ivs >> 10) & MAX_PER_STAT_IVS;
|
||||
substruct3->speedIV = (ivs >> 15) & MAX_PER_STAT_IVS;
|
||||
substruct3->spAttackIV = (ivs >> 20) & MAX_PER_STAT_IVS;
|
||||
substruct3->spDefenseIV = (ivs >> 25) & MAX_PER_STAT_IVS;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user