summaryrefslogtreecommitdiff
path: root/src/pokemon.c
diff options
context:
space:
mode:
authorSphericalIce <sphericalice@outlook.com>2021-01-07 22:13:14 +0000
committerSphericalIce <sphericalice@outlook.com>2021-01-07 22:13:14 +0000
commit3c2a33b9b25b3bba33c29a10e66d5256b10c537d (patch)
tree6613f51b25ebf67aa75405caa92f0e9e873b0d90 /src/pokemon.c
parentfb69d97b24209cb7828a49b29ab1fb30c9baa02f (diff)
Use constants for max IVs & the random IV generation flag
Diffstat (limited to 'src/pokemon.c')
-rw-r--r--src/pokemon.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/pokemon.c b/src/pokemon.c
index b5eee16b2..e3d5dfd97 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -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: