summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/pokemon.h4
-rw-r--r--ld_script.txt7
-rw-r--r--src/battle/calculate_base_damage.c60
-rw-r--r--src/data/pokemon/base_stats.h826
-rw-r--r--src/data/pokemon/dex_order.h15
-rw-r--r--src/data/pokemon/evolution.h788
-rw-r--r--src/data/pokemon/item_effects.h729
-rw-r--r--src/data/pokemon/level_up_learnset_pointers.h2
-rw-r--r--src/data/pokemon/nature_stats.h37
-rw-r--r--src/data/pokemon/spinda_spots.h15
-rw-r--r--src/field/daycare.c2
-rw-r--r--src/pokemon/pokemon_1.c60
-rw-r--r--src/pokemon/pokemon_2.c28
-rw-r--r--src/pokemon/pokemon_3.c104
-rw-r--r--src/pokemon/pokemon_data.c116
-rw-r--r--src/pokemon/pokemon_item_effect.c11
-rw-r--r--src/scene/evolution_scene.c30
17 files changed, 901 insertions, 1933 deletions
diff --git a/include/pokemon.h b/include/pokemon.h
index 71b35e65c..539323bdb 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -502,8 +502,8 @@ extern struct Pokemon gEnemyParty[PARTY_SIZE];
extern const u8 *const gItemEffectTable[];
extern const struct BaseStats gBaseStats[];
extern const u32 gExperienceTables[][101];
-extern const u16 *const gLevelUpLearnsets[];
-extern const struct EvolutionData gEvolutionTable[];
+extern const u16 *gLevelUpLearnsets[];
+extern struct Evolution gEvolutionTable[][5];
extern struct PokemonStorage gPokemonStorage;
void ZeroBoxMonData(struct BoxPokemon *boxMon);
diff --git a/ld_script.txt b/ld_script.txt
index 6d4e0832f..0cb2d0262 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -488,7 +488,12 @@ SECTIONS {
src/battle/battle_controller_linkopponent.o(.rodata);
data/battle_moves.o(.rodata);
src/battle/battle_util.o(.rodata);
- src/pokemon/pokemon_data.o(.rodata);
+ src/pokemon/pokemon_1.o(.rodata);
+ src/pokemon/pokemon_1.o(.data); /* gEvolutionTable needs to be non-const to match */
+ src/battle/calculate_base_damage.o(.rodata);
+ src/pokemon/pokemon_2.o(.rodata);
+ src/pokemon/pokemon_item_effect.o(.rodata);
+ src/pokemon/pokemon_3.o(.rodata);
. = ALIGN(4);
src/engine/trig.o(.rodata);
src/engine/util.o(.rodata);
diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c
index 5c91b3657..217ab28a3 100644
--- a/src/battle/calculate_base_damage.c
+++ b/src/battle/calculate_base_damage.c
@@ -1,16 +1,16 @@
#include "global.h"
#include "constants/abilities.h"
+#include "constants/battle_move_effects.h"
+#include "constants/hold_effects.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
#include "battle.h"
#include "berry.h"
#include "data2.h"
#include "event_data.h"
-#include "constants/hold_effects.h"
#include "item.h"
-#include "constants/items.h"
#include "pokemon.h"
-#include "constants/species.h"
-#include "constants/moves.h"
-#include "constants/battle_move_effects.h"
#include "ewram.h"
extern u16 gBattleTypeFlags;
@@ -22,8 +22,54 @@ extern struct BattleEnigmaBerry gEnigmaBerries[];
extern u16 gBattleMovePower;
extern u16 gTrainerBattleOpponent;
-extern const u8 gHoldEffectToType[][2];
-extern const u8 gStatStageRatios[][2];
+// Masks for getting PP Up count, also PP Max values
+const u8 gUnknown_08208238[] = {0x03, 0x0c, 0x30, 0xc0};
+
+// Masks for setting PP Up count
+const u8 gUnknown_0820823C[] = {0xFC, 0xF3, 0xCF, 0x3F};
+
+// Values added to PP Up count
+const u8 gUnknown_08208240[] = {0x01, 0x04, 0x10, 0x40};
+
+const u8 gStatStageRatios[][2] =
+{
+ {10, 40}, // -6
+ {10, 35}, // -5
+ {10, 30}, // -4
+ {10, 25}, // -3
+ {10, 20}, // -2
+ {10, 15}, // -1
+ {10, 10}, // 0
+ {15, 10}, // 1
+ {20, 10}, // 2
+ {25, 10}, // 3
+ {30, 10}, // 4
+ {35, 10}, // 5
+ {40, 10} // 6
+};
+
+const u8 unknownGameFreakAbbrev_820825E[] = _("ゲーフリ");
+
+const u8 gHoldEffectToType[][2] =
+{
+ {HOLD_EFFECT_BUG_POWER, TYPE_BUG},
+ {HOLD_EFFECT_STEEL_POWER, TYPE_STEEL},
+ {HOLD_EFFECT_GROUND_POWER, TYPE_GROUND},
+ {HOLD_EFFECT_ROCK_POWER, TYPE_ROCK},
+ {HOLD_EFFECT_GRASS_POWER, TYPE_GRASS},
+ {HOLD_EFFECT_DARK_POWER, TYPE_DARK},
+ {HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING},
+ {HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC},
+ {HOLD_EFFECT_WATER_POWER, TYPE_WATER},
+ {HOLD_EFFECT_FLYING_POWER, TYPE_FLYING},
+ {HOLD_EFFECT_POISON_POWER, TYPE_POISON},
+ {HOLD_EFFECT_ICE_POWER, TYPE_ICE},
+ {HOLD_EFFECT_GHOST_POWER, TYPE_GHOST},
+ {HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC},
+ {HOLD_EFFECT_FIRE_POWER, TYPE_FIRE},
+ {HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON},
+ {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL}
+};
u8 GetBankSide(u8 bank);
diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index be902635e..bc6572b46 100644
--- a/src/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,6 +1,10 @@
#ifndef GUARD_BASE_STATS_H
#define GUARD_BASE_STATS_H
+// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
+// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
+#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
+
const struct BaseStats gBaseStats[] =
{
[SPECIES_NONE] = {0},
@@ -25,7 +29,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -58,7 +62,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -91,7 +95,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -124,7 +128,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -157,7 +161,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -190,7 +194,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -223,7 +227,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -256,7 +260,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -289,7 +293,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -322,7 +326,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -355,7 +359,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -388,7 +392,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_SILVER_POWDER,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -421,7 +425,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -454,7 +458,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -487,7 +491,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_POISON_BARB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -520,7 +524,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -553,7 +557,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -586,7 +590,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -619,7 +623,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -652,7 +656,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -685,7 +689,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -718,7 +722,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SHARP_BEAK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -751,7 +755,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -784,7 +788,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -817,7 +821,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_ORAN_BERRY,
.item2 = ITEM_LIGHT_BALL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -850,7 +854,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_ORAN_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -883,7 +887,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_QUICK_CLAW,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -916,7 +920,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_QUICK_CLAW,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -949,7 +953,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -982,7 +986,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1015,7 +1019,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1048,7 +1052,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1081,7 +1085,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1114,7 +1118,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1147,7 +1151,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_LEPPA_BERRY,
.item2 = ITEM_MOON_STONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 140,
.growthRate = GROWTH_FAST,
@@ -1180,7 +1184,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_LEPPA_BERRY,
.item2 = ITEM_MOON_STONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 140,
.growthRate = GROWTH_FAST,
@@ -1213,7 +1217,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1246,7 +1250,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1279,7 +1283,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -1312,7 +1316,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -1345,7 +1349,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1378,7 +1382,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1411,7 +1415,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1444,7 +1448,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1477,7 +1481,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -1510,7 +1514,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_TINY_MUSHROOM,
.item2 = ITEM_BIG_MUSHROOM,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1543,7 +1547,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_TINY_MUSHROOM,
.item2 = ITEM_BIG_MUSHROOM,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1576,7 +1580,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1609,7 +1613,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1642,7 +1646,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1675,7 +1679,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1708,7 +1712,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1741,7 +1745,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1774,7 +1778,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1807,7 +1811,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1840,7 +1844,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1873,7 +1877,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -1906,7 +1910,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -1939,7 +1943,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -1972,7 +1976,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2005,7 +2009,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2038,7 +2042,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2071,7 +2075,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_TWISTED_SPOON,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2104,7 +2108,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_TWISTED_SPOON,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2137,7 +2141,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_TWISTED_SPOON,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2170,7 +2174,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2203,7 +2207,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2236,7 +2240,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2269,7 +2273,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2302,7 +2306,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2335,7 +2339,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2368,7 +2372,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -2401,7 +2405,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -2434,7 +2438,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_EVERSTONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2467,7 +2471,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_EVERSTONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2500,7 +2504,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_EVERSTONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -2533,7 +2537,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2566,7 +2570,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2599,7 +2603,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2632,7 +2636,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2665,7 +2669,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2698,7 +2702,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2731,7 +2735,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_STICK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2764,7 +2768,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SHARP_BEAK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2797,7 +2801,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SHARP_BEAK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2830,7 +2834,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2863,7 +2867,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2896,7 +2900,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NUGGET,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2929,7 +2933,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NUGGET,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -2962,7 +2966,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_PEARL,
.item2 = ITEM_BIG_PEARL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -2995,7 +2999,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_PEARL,
.item2 = ITEM_BIG_PEARL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3028,7 +3032,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -3061,7 +3065,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -3094,7 +3098,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -3127,7 +3131,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3160,7 +3164,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3193,7 +3197,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3226,7 +3230,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3259,7 +3263,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3292,7 +3296,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3325,7 +3329,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3358,7 +3362,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3391,7 +3395,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3424,7 +3428,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_THICK_CLUB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3457,7 +3461,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_THICK_CLUB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3490,7 +3494,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3523,7 +3527,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3556,7 +3560,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3589,7 +3593,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SMOKE_BALL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3622,7 +3626,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SMOKE_BALL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3655,7 +3659,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3688,7 +3692,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3721,7 +3725,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_LUCKY_EGG,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 40,
.friendship = 140,
.growthRate = GROWTH_FAST,
@@ -3754,7 +3758,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3787,7 +3791,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3820,7 +3824,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3853,7 +3857,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3886,7 +3890,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3919,7 +3923,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -3952,7 +3956,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_STARDUST,
.item2 = ITEM_STAR_PIECE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -3985,7 +3989,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_STARDUST,
.item2 = ITEM_STAR_PIECE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4018,7 +4022,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_LEPPA_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4051,7 +4055,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4084,7 +4088,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_ASPEAR_BERRY,
.item2 = ITEM_ASPEAR_BERRY,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4117,7 +4121,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4150,7 +4154,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4183,7 +4187,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4216,7 +4220,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4249,7 +4253,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 5,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4282,7 +4286,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 5,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4315,7 +4319,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4348,7 +4352,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_POWDER,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4381,7 +4385,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4414,7 +4418,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4447,7 +4451,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4480,7 +4484,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4513,7 +4517,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4546,7 +4550,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4579,7 +4583,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4612,7 +4616,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4645,7 +4649,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -4678,7 +4682,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4711,7 +4715,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_LEFTOVERS,
.item2 = ITEM_LEFTOVERS,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -4744,7 +4748,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4777,7 +4781,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4810,7 +4814,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4843,7 +4847,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4876,7 +4880,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4909,7 +4913,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -4942,7 +4946,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -4975,7 +4979,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_LUM_BERRY,
.item2 = ITEM_LUM_BERRY,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 100,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5008,7 +5012,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5041,7 +5045,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5074,7 +5078,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5107,7 +5111,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5140,7 +5144,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5173,7 +5177,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5206,7 +5210,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5239,7 +5243,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5272,7 +5276,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5305,7 +5309,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_ORAN_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5338,7 +5342,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_ORAN_BERRY,
.item2 = ITEM_SITRUS_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5371,7 +5375,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5404,7 +5408,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5437,7 +5441,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5470,7 +5474,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5503,7 +5507,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5536,7 +5540,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5569,7 +5573,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5602,7 +5606,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_YELLOW_SHARD,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -5635,7 +5639,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_YELLOW_SHARD,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -5668,7 +5672,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_ORAN_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5701,7 +5705,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_LEPPA_BERRY,
.item2 = ITEM_MOON_STONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 140,
.growthRate = GROWTH_FAST,
@@ -5734,7 +5738,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5767,7 +5771,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5800,7 +5804,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -5833,7 +5837,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5866,7 +5870,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -5899,7 +5903,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5932,7 +5936,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5965,7 +5969,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -5998,7 +6002,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6031,7 +6035,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -6064,7 +6068,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -6097,7 +6101,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6130,7 +6134,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6163,7 +6167,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6196,7 +6200,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6229,7 +6233,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6262,7 +6266,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -6295,7 +6299,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6328,7 +6332,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6361,7 +6365,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6394,7 +6398,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6427,7 +6431,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6460,7 +6464,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6493,7 +6497,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 35,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6526,7 +6530,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6559,7 +6563,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6592,7 +6596,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_SPELL_TAG,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_FAST,
@@ -6625,7 +6629,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6658,7 +6662,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6691,7 +6695,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_PERSIM_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6724,7 +6728,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6757,7 +6761,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6790,7 +6794,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6823,7 +6827,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -6856,7 +6860,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6889,7 +6893,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -6922,7 +6926,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -6955,7 +6959,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -6988,7 +6992,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7021,7 +7025,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_ORAN_BERRY,
.item2 = ITEM_ORAN_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -7054,7 +7058,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7087,7 +7091,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_QUICK_CLAW,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -7120,7 +7124,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7153,7 +7157,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7186,7 +7190,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7219,7 +7223,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7252,7 +7256,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7285,7 +7289,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7318,7 +7322,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_RED_SHARD,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -7351,7 +7355,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7384,7 +7388,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7417,7 +7421,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -7450,7 +7454,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7483,7 +7487,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7516,7 +7520,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -7549,7 +7553,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -7582,7 +7586,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7615,7 +7619,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7648,7 +7652,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7681,7 +7685,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7714,7 +7718,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7747,7 +7751,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -7780,7 +7784,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7813,7 +7817,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7846,7 +7850,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_ASPEAR_BERRY,
.item2 = ITEM_ASPEAR_BERRY,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7879,7 +7883,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7912,7 +7916,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -7945,7 +7949,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_MOOMOO_MILK,
.item2 = ITEM_MOOMOO_MILK,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -7978,7 +7982,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_LUCKY_EGG,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 40,
.friendship = 140,
.growthRate = GROWTH_FAST,
@@ -8011,7 +8015,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8044,7 +8048,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8077,7 +8081,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8110,7 +8114,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8143,7 +8147,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8176,7 +8180,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -8209,7 +8213,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -8242,7 +8246,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_SACRED_ASH,
.item2 = ITEM_SACRED_ASH,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -8275,7 +8279,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_LUM_BERRY,
.item2 = ITEM_LUM_BERRY,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 100,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -8308,7 +8312,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8341,7 +8345,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8374,7 +8378,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8407,7 +8411,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8440,7 +8444,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8473,7 +8477,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8506,7 +8510,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8539,7 +8543,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8572,7 +8576,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8605,7 +8609,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8638,7 +8642,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8671,7 +8675,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8704,7 +8708,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8737,7 +8741,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8770,7 +8774,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8803,7 +8807,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8836,7 +8840,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8869,7 +8873,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8902,7 +8906,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8935,7 +8939,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -8968,7 +8972,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9001,7 +9005,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9034,7 +9038,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9067,7 +9071,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9100,7 +9104,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9133,7 +9137,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9166,7 +9170,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9199,7 +9203,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9232,7 +9236,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9265,7 +9269,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9298,7 +9302,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9331,7 +9335,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9364,7 +9368,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9397,7 +9401,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9430,7 +9434,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_PECHA_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9463,7 +9467,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_PECHA_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9496,7 +9500,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_ORAN_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9529,7 +9533,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_ORAN_BERRY,
.item2 = ITEM_SITRUS_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9562,7 +9566,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9595,7 +9599,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9628,7 +9632,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SILVER_POWDER,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9661,7 +9665,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9694,7 +9698,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_SILVER_POWDER,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -9727,7 +9731,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9760,7 +9764,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9793,7 +9797,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9826,7 +9830,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9859,7 +9863,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9892,7 +9896,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -9925,7 +9929,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -9958,7 +9962,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -9991,7 +9995,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -10024,7 +10028,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -10057,7 +10061,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -10090,7 +10094,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10123,7 +10127,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10156,7 +10160,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_CHESTO_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -10189,7 +10193,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10222,7 +10226,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10255,7 +10259,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10288,7 +10292,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_SILVER_POWDER,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10321,7 +10325,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10354,7 +10358,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10387,7 +10391,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_LEPPA_BERRY,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -10420,7 +10424,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_LEPPA_BERRY,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -10453,7 +10457,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_PERSIM_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -10486,7 +10490,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10519,7 +10523,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10552,7 +10556,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10585,7 +10589,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10618,7 +10622,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -10651,7 +10655,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10684,7 +10688,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -10717,7 +10721,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_HEART_SCALE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -10750,7 +10754,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10783,7 +10787,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -10816,7 +10820,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -10849,7 +10853,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -10882,7 +10886,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -10915,7 +10919,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -10948,7 +10952,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SOFT_SAND,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -10981,7 +10985,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11014,7 +11018,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11047,7 +11051,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -11080,7 +11084,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_KINGS_ROCK,
- .genderRatio = 63,
+ .genderRatio = PERCENT_FEMALE(25),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -11113,7 +11117,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -11146,7 +11150,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -11179,7 +11183,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11212,7 +11216,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_RAWST_BERRY,
.item2 = ITEM_RAWST_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11245,7 +11249,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11278,7 +11282,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11311,7 +11315,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11344,7 +11348,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_POISON_BARB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11377,7 +11381,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_POISON_BARB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -11410,7 +11414,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11443,7 +11447,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NEVER_MELT_ICE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11476,7 +11480,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_MOON_STONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11509,7 +11513,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SUN_STONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11542,7 +11546,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 191,
+ .genderRatio = PERCENT_FEMALE(75),
.eggCycles = 10,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11575,7 +11579,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11608,7 +11612,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11641,7 +11645,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11674,7 +11678,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11707,7 +11711,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FAST,
@@ -11740,7 +11744,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11773,7 +11777,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11806,7 +11810,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -11839,7 +11843,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -11872,7 +11876,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -11905,7 +11909,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_SPELL_TAG,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_FAST,
@@ -11938,7 +11942,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_SPELL_TAG,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_FAST,
@@ -11971,7 +11975,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_POISON_BARB,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -12004,7 +12008,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -12037,7 +12041,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -12070,7 +12074,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -12103,7 +12107,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_BIG_PEARL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -12136,7 +12140,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_BIG_PEARL,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -12169,7 +12173,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -12202,7 +12206,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_CHESTO_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -12235,7 +12239,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_CHESTO_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -12268,7 +12272,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_CHESTO_BERRY,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -12301,7 +12305,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_BLUE_SHARD,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12334,7 +12338,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12367,7 +12371,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12400,7 +12404,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_MEDIUM_SLOW,
@@ -12433,7 +12437,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SPELL_TAG,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_FAST,
@@ -12466,7 +12470,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_SPELL_TAG,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 35,
.growthRate = GROWTH_FAST,
@@ -12499,7 +12503,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -12532,7 +12536,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12565,7 +12569,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_GREEN_SHARD,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 40,
.friendship = 70,
.growthRate = GROWTH_SLOW,
@@ -12598,7 +12602,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_HARD_STONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 35,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -12631,7 +12635,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_HARD_STONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 35,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -12664,7 +12668,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_HARD_STONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 35,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -12697,7 +12701,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_MYSTIC_WATER,
.item2 = ITEM_MYSTIC_WATER,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_MEDIUM_FAST,
@@ -12730,7 +12734,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12763,7 +12767,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 15,
.friendship = 70,
.growthRate = GROWTH_FLUCTUATING,
@@ -12796,7 +12800,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12829,7 +12833,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 2,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12862,7 +12866,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12895,7 +12899,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 31,
+ .genderRatio = PERCENT_FEMALE(12.5),
.eggCycles = 30,
.friendship = 70,
.growthRate = GROWTH_ERRATIC,
@@ -12928,7 +12932,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -12961,7 +12965,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -12994,7 +12998,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 20,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13027,7 +13031,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13060,7 +13064,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13093,7 +13097,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_DRAGON_SCALE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13126,7 +13130,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13159,7 +13163,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13192,7 +13196,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_METAL_COAT,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 40,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13225,7 +13229,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13258,7 +13262,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13291,7 +13295,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 80,
.friendship = 35,
.growthRate = GROWTH_SLOW,
@@ -13324,7 +13328,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -13357,7 +13361,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -13390,7 +13394,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -13423,7 +13427,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 3,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 254,
+ .genderRatio = MON_FEMALE,
.eggCycles = 120,
.friendship = 90,
.growthRate = GROWTH_SLOW,
@@ -13456,7 +13460,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 0,
+ .genderRatio = MON_MALE,
.eggCycles = 120,
.friendship = 90,
.growthRate = GROWTH_SLOW,
@@ -13489,7 +13493,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_STAR_PIECE,
.item2 = ITEM_STAR_PIECE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 100,
.growthRate = GROWTH_SLOW,
@@ -13522,7 +13526,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 0,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 255,
+ .genderRatio = MON_GENDERLESS,
.eggCycles = 120,
.friendship = 0,
.growthRate = GROWTH_SLOW,
@@ -13555,7 +13559,7 @@ const struct BaseStats gBaseStats[] =
.evYield_SpDefense = 1,
.item1 = ITEM_NONE,
.item2 = ITEM_NONE,
- .genderRatio = 127,
+ .genderRatio = PERCENT_FEMALE(50),
.eggCycles = 25,
.friendship = 70,
.growthRate = GROWTH_FAST,
diff --git a/src/data/pokemon/dex_order.h b/src/data/pokemon/dex_order.h
deleted file mode 100644
index cbb7182ed..000000000
--- a/src/data/pokemon/dex_order.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-
-//
-
-#ifndef POKERUBY_DEX_ORDER_H
-#define POKERUBY_DEX_ORDER_H
-
-const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151
-};
-
-const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358};
-
-const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411};
-
-#endif //POKERUBY_DEX_ORDER_H
diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h
index 919416fee..b88e42cd2 100644
--- a/src/data/pokemon/evolution.h
+++ b/src/data/pokemon/evolution.h
@@ -1,608 +1,192 @@
-//
-
-//
-
#ifndef POKERUBY_EVOLUTION_H
#define POKERUBY_EVOLUTION_H
-const struct EvolutionData gEvolutionTable[] = {
- {{ // ??????????
- }}, {{ // Bulbasaur
- {EVO_LEVEL, 16, SPECIES_IVYSAUR},
- }}, {{ // Ivysaur
- {EVO_LEVEL, 32, SPECIES_VENUSAUR},
- }}, {{ // Venusaur
- }}, {{ // Charmander
- {EVO_LEVEL, 16, SPECIES_CHARMELEON},
- }}, {{ // Charmeleon
- {EVO_LEVEL, 36, SPECIES_CHARIZARD},
- }}, {{ // Charizard
- }}, {{ // Squirtle
- {EVO_LEVEL, 16, SPECIES_WARTORTLE},
- }}, {{ // Wartortle
- {EVO_LEVEL, 36, SPECIES_BLASTOISE},
- }}, {{ // Blastoise
- }}, {{ // Caterpie
- {EVO_LEVEL, 7, SPECIES_METAPOD},
- }}, {{ // Metapod
- {EVO_LEVEL, 10, SPECIES_BUTTERFREE},
- }}, {{ // Butterfree
- }}, {{ // Weedle
- {EVO_LEVEL, 7, SPECIES_KAKUNA},
- }}, {{ // Kakuna
- {EVO_LEVEL, 10, SPECIES_BEEDRILL},
- }}, {{ // Beedrill
- }}, {{ // Pidgey
- {EVO_LEVEL, 18, SPECIES_PIDGEOTTO},
- }}, {{ // Pidgeotto
- {EVO_LEVEL, 36, SPECIES_PIDGEOT},
- }}, {{ // Pidgeot
- }}, {{ // Rattata
- {EVO_LEVEL, 20, SPECIES_RATICATE},
- }}, {{ // Raticate
- }}, {{ // Spearow
- {EVO_LEVEL, 20, SPECIES_FEAROW},
- }}, {{ // Fearow
- }}, {{ // Ekans
- {EVO_LEVEL, 22, SPECIES_ARBOK},
- }}, {{ // Arbok
- }}, {{ // Pikachu
- {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU},
- }}, {{ // Raichu
- }}, {{ // Sandshrew
- {EVO_LEVEL, 22, SPECIES_SANDSLASH},
- }}, {{ // Sandslash
- }}, {{ // Nidoran♀
- {EVO_LEVEL, 16, SPECIES_NIDORINA},
- }}, {{ // Nidorina
- {EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN},
- }}, {{ // Nidoqueen
- }}, {{ // Nidoran♂
- {EVO_LEVEL, 16, SPECIES_NIDORINO},
- }}, {{ // Nidorino
- {EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING},
- }}, {{ // Nidoking
- }}, {{ // Clefairy
- {EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE},
- }}, {{ // Clefable
- }}, {{ // Vulpix
- {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES},
- }}, {{ // Ninetales
- }}, {{ // Jigglypuff
- {EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF},
- }}, {{ // Wigglytuff
- }}, {{ // Zubat
- {EVO_LEVEL, 22, SPECIES_GOLBAT},
- }}, {{ // Golbat
- {EVO_FRIENDSHIP, 0, SPECIES_CROBAT},
- }}, {{ // Oddish
- {EVO_LEVEL, 21, SPECIES_GLOOM},
- }}, {{ // Gloom
- {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME},
- {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM},
- }}, {{ // Vileplume
- }}, {{ // Paras
- {EVO_LEVEL, 24, SPECIES_PARASECT},
- }}, {{ // Parasect
- }}, {{ // Venonat
- {EVO_LEVEL, 31, SPECIES_VENOMOTH},
- }}, {{ // Venomoth
- }}, {{ // Diglett
- {EVO_LEVEL, 26, SPECIES_DUGTRIO},
- }}, {{ // Dugtrio
- }}, {{ // Meowth
- {EVO_LEVEL, 28, SPECIES_PERSIAN},
- }}, {{ // Persian
- }}, {{ // Psyduck
- {EVO_LEVEL, 33, SPECIES_GOLDUCK},
- }}, {{ // Golduck
- }}, {{ // Mankey
- {EVO_LEVEL, 28, SPECIES_PRIMEAPE},
- }}, {{ // Primeape
- }}, {{ // Growlithe
- {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE},
- }}, {{ // Arcanine
- }}, {{ // Poliwag
- {EVO_LEVEL, 25, SPECIES_POLIWHIRL},
- }}, {{ // Poliwhirl
- {EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH},
- {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED},
- }}, {{ // Poliwrath
- }}, {{ // Abra
- {EVO_LEVEL, 16, SPECIES_KADABRA},
- }}, {{ // Kadabra
- {EVO_TRADE, 0, SPECIES_ALAKAZAM},
- }}, {{ // Alakazam
- }}, {{ // Machop
- {EVO_LEVEL, 28, SPECIES_MACHOKE},
- }}, {{ // Machoke
- {EVO_TRADE, 0, SPECIES_MACHAMP},
- }}, {{ // Machamp
- }}, {{ // Bellsprout
- {EVO_LEVEL, 21, SPECIES_WEEPINBELL},
- }}, {{ // Weepinbell
- {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL},
- }}, {{ // Victreebel
- }}, {{ // Tentacool
- {EVO_LEVEL, 30, SPECIES_TENTACRUEL},
- }}, {{ // Tentacruel
- }}, {{ // Geodude
- {EVO_LEVEL, 25, SPECIES_GRAVELER},
- }}, {{ // Graveler
- {EVO_TRADE, 0, SPECIES_GOLEM},
- }}, {{ // Golem
- }}, {{ // Ponyta
- {EVO_LEVEL, 40, SPECIES_RAPIDASH},
- }}, {{ // Rapidash
- }}, {{ // Slowpoke
- {EVO_LEVEL, 37, SPECIES_SLOWBRO},
- {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING},
- }}, {{ // Slowbro
- }}, {{ // Magnemite
- {EVO_LEVEL, 30, SPECIES_MAGNETON},
- }}, {{ // Magneton
- }}, {{ // Farfetch'd
- }}, {{ // Doduo
- {EVO_LEVEL, 31, SPECIES_DODRIO},
- }}, {{ // Dodrio
- }}, {{ // Seel
- {EVO_LEVEL, 34, SPECIES_DEWGONG},
- }}, {{ // Dewgong
- }}, {{ // Grimer
- {EVO_LEVEL, 38, SPECIES_MUK},
- }}, {{ // Muk
- }}, {{ // Shellder
- {EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER},
- }}, {{ // Cloyster
- }}, {{ // Gastly
- {EVO_LEVEL, 25, SPECIES_HAUNTER},
- }}, {{ // Haunter
- {EVO_TRADE, 0, SPECIES_GENGAR},
- }}, {{ // Gengar
- }}, {{ // Onix
- {EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX},
- }}, {{ // Drowzee
- {EVO_LEVEL, 26, SPECIES_HYPNO},
- }}, {{ // Hypno
- }}, {{ // Krabby
- {EVO_LEVEL, 28, SPECIES_KINGLER},
- }}, {{ // Kingler
- }}, {{ // Voltorb
- {EVO_LEVEL, 30, SPECIES_ELECTRODE},
- }}, {{ // Electrode
- }}, {{ // Exeggcute
- {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR},
- }}, {{ // Exeggutor
- }}, {{ // Cubone
- {EVO_LEVEL, 28, SPECIES_MAROWAK},
- }}, {{ // Marowak
- }}, {{ // Hitmonlee
- }}, {{ // Hitmonchan
- }}, {{ // Lickitung
- }}, {{ // Koffing
- {EVO_LEVEL, 35, SPECIES_WEEZING},
- }}, {{ // Weezing
- }}, {{ // Rhyhorn
- {EVO_LEVEL, 42, SPECIES_RHYDON},
- }}, {{ // Rhydon
- }}, {{ // Chansey
- {EVO_FRIENDSHIP, 0, SPECIES_BLISSEY},
- }}, {{ // Tangela
- }}, {{ // Kangaskhan
- }}, {{ // Horsea
- {EVO_LEVEL, 32, SPECIES_SEADRA},
- }}, {{ // Seadra
- {EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA},
- }}, {{ // Goldeen
- {EVO_LEVEL, 33, SPECIES_SEAKING},
- }}, {{ // Seaking
- }}, {{ // Staryu
- {EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE},
- }}, {{ // Starmie
- }}, {{ // Mr. mime
- }}, {{ // Scyther
- {EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR},
- }}, {{ // Jynx
- }}, {{ // Electabuzz
- }}, {{ // Magmar
- }}, {{ // Pinsir
- }}, {{ // Tauros
- }}, {{ // Magikarp
- {EVO_LEVEL, 20, SPECIES_GYARADOS},
- }}, {{ // Gyarados
- }}, {{ // Lapras
- }}, {{ // Ditto
- }}, {{ // Eevee
- {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON},
- {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON},
- {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON},
- {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON},
- {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON},
- }}, {{ // Vaporeon
- }}, {{ // Jolteon
- }}, {{ // Flareon
- }}, {{ // Porygon
- {EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2},
- }}, {{ // Omanyte
- {EVO_LEVEL, 40, SPECIES_OMASTAR},
- }}, {{ // Omastar
- }}, {{ // Kabuto
- {EVO_LEVEL, 40, SPECIES_KABUTOPS},
- }}, {{ // Kabutops
- }}, {{ // Aerodactyl
- }}, {{ // Snorlax
- }}, {{ // Articuno
- }}, {{ // Zapdos
- }}, {{ // Moltres
- }}, {{ // Dratini
- {EVO_LEVEL, 30, SPECIES_DRAGONAIR},
- }}, {{ // Dragonair
- {EVO_LEVEL, 55, SPECIES_DRAGONITE},
- }}, {{ // Dragonite
- }}, {{ // Mewtwo
- }}, {{ // Mew
- }}, {{ // Chikorita
- {EVO_LEVEL, 16, SPECIES_BAYLEEF},
- }}, {{ // Bayleef
- {EVO_LEVEL, 32, SPECIES_MEGANIUM},
- }}, {{ // Meganium
- }}, {{ // Cyndaquil
- {EVO_LEVEL, 14, SPECIES_QUILAVA},
- }}, {{ // Quilava
- {EVO_LEVEL, 36, SPECIES_TYPHLOSION},
- }}, {{ // Typhlosion
- }}, {{ // Totodile
- {EVO_LEVEL, 18, SPECIES_CROCONAW},
- }}, {{ // Croconaw
- {EVO_LEVEL, 30, SPECIES_FERALIGATR},
- }}, {{ // Feraligatr
- }}, {{ // Sentret
- {EVO_LEVEL, 15, SPECIES_FURRET},
- }}, {{ // Furret
- }}, {{ // Hoothoot
- {EVO_LEVEL, 20, SPECIES_NOCTOWL},
- }}, {{ // Noctowl
- }}, {{ // Ledyba
- {EVO_LEVEL, 18, SPECIES_LEDIAN},
- }}, {{ // Ledian
- }}, {{ // Spinarak
- {EVO_LEVEL, 22, SPECIES_ARIADOS},
- }}, {{ // Ariados
- }}, {{ // Crobat
- }}, {{ // Chinchou
- {EVO_LEVEL, 27, SPECIES_LANTURN},
- }}, {{ // Lanturn
- }}, {{ // Pichu
- {EVO_FRIENDSHIP, 0, SPECIES_PIKACHU},
- }}, {{ // Cleffa
- {EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY},
- }}, {{ // Igglybuff
- {EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF},
- }}, {{ // Togepi
- {EVO_FRIENDSHIP, 0, SPECIES_TOGETIC},
- }}, {{ // Togetic
- }}, {{ // Natu
- {EVO_LEVEL, 25, SPECIES_XATU},
- }}, {{ // Xatu
- }}, {{ // Mareep
- {EVO_LEVEL, 15, SPECIES_FLAAFFY},
- }}, {{ // Flaaffy
- {EVO_LEVEL, 30, SPECIES_AMPHAROS},
- }}, {{ // Ampharos
- }}, {{ // Bellossom
- }}, {{ // Marill
- {EVO_LEVEL, 18, SPECIES_AZUMARILL},
- }}, {{ // Azumarill
- }}, {{ // Sudowoodo
- }}, {{ // Politoed
- }}, {{ // Hoppip
- {EVO_LEVEL, 18, SPECIES_SKIPLOOM},
- }}, {{ // Skiploom
- {EVO_LEVEL, 27, SPECIES_JUMPLUFF},
- }}, {{ // Jumpluff
- }}, {{ // Aipom
- }}, {{ // Sunkern
- {EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA},
- }}, {{ // Sunflora
- }}, {{ // Yanma
- }}, {{ // Wooper
- {EVO_LEVEL, 20, SPECIES_QUAGSIRE},
- }}, {{ // Quagsire
- }}, {{ // Espeon
- }}, {{ // Umbreon
- }}, {{ // Murkrow
- }}, {{ // Slowking
- }}, {{ // Misdreavus
- }}, {{ // Unown
- }}, {{ // Wobbuffet
- }}, {{ // Girafarig
- }}, {{ // Pineco
- {EVO_LEVEL, 31, SPECIES_FORRETRESS},
- }}, {{ // Forretress
- }}, {{ // Dunsparce
- }}, {{ // Gligar
- }}, {{ // Steelix
- }}, {{ // Snubbull
- {EVO_LEVEL, 23, SPECIES_GRANBULL},
- }}, {{ // Granbull
- }}, {{ // Qwilfish
- }}, {{ // Scizor
- }}, {{ // Shuckle
- }}, {{ // Heracross
- }}, {{ // Sneasel
- }}, {{ // Teddiursa
- {EVO_LEVEL, 30, SPECIES_URSARING},
- }}, {{ // Ursaring
- }}, {{ // Slugma
- {EVO_LEVEL, 38, SPECIES_MAGCARGO},
- }}, {{ // Magcargo
- }}, {{ // Swinub
- {EVO_LEVEL, 33, SPECIES_PILOSWINE},
- }}, {{ // Piloswine
- }}, {{ // Corsola
- }}, {{ // Remoraid
- {EVO_LEVEL, 25, SPECIES_OCTILLERY},
- }}, {{ // Octillery
- }}, {{ // Delibird
- }}, {{ // Mantine
- }}, {{ // Skarmory
- }}, {{ // Houndour
- {EVO_LEVEL, 24, SPECIES_HOUNDOOM},
- }}, {{ // Houndoom
- }}, {{ // Kingdra
- }}, {{ // Phanpy
- {EVO_LEVEL, 25, SPECIES_DONPHAN},
- }}, {{ // Donphan
- }}, {{ // Porygon2
- }}, {{ // Stantler
- }}, {{ // Smeargle
- }}, {{ // Tyrogue
- {EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN},
- {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE},
- {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP},
- }}, {{ // Hitmontop
- }}, {{ // Smoochum
- {EVO_LEVEL, 30, SPECIES_JYNX},
- }}, {{ // Elekid
- {EVO_LEVEL, 30, SPECIES_ELECTABUZZ},
- }}, {{ // Magby
- {EVO_LEVEL, 30, SPECIES_MAGMAR},
- }}, {{ // Miltank
- }}, {{ // Blissey
- }}, {{ // Raikou
- }}, {{ // Entei
- }}, {{ // Suicune
- }}, {{ // Larvitar
- {EVO_LEVEL, 30, SPECIES_PUPITAR},
- }}, {{ // Pupitar
- {EVO_LEVEL, 55, SPECIES_TYRANITAR},
- }}, {{ // Tyranitar
- }}, {{ // Lugia
- }}, {{ // Ho-Oh
- }}, {{ // Celebi
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // ?
- }}, {{ // Treecko
- {EVO_LEVEL, 16, SPECIES_GROVYLE},
- }}, {{ // Grovyle
- {EVO_LEVEL, 36, SPECIES_SCEPTILE},
- }}, {{ // Sceptile
- }}, {{ // Torchic
- {EVO_LEVEL, 16, SPECIES_COMBUSKEN},
- }}, {{ // Combusken
- {EVO_LEVEL, 36, SPECIES_BLAZIKEN},
- }}, {{ // Blaziken
- }}, {{ // Mudkip
- {EVO_LEVEL, 16, SPECIES_MARSHTOMP},
- }}, {{ // Marshtomp
- {EVO_LEVEL, 36, SPECIES_SWAMPERT},
- }}, {{ // Swampert
- }}, {{ // Poochyena
- {EVO_LEVEL, 18, SPECIES_MIGHTYENA},
- }}, {{ // Mightyena
- }}, {{ // Zigzagoon
- {EVO_LEVEL, 20, SPECIES_LINOONE},
- }}, {{ // Linoone
- }}, {{ // Wurmple
- {EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON},
- {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON},
- }}, {{ // Silcoon
- {EVO_LEVEL, 10, SPECIES_BEAUTIFLY},
- }}, {{ // Beautifly
- }}, {{ // Cascoon
- {EVO_LEVEL, 10, SPECIES_DUSTOX},
- }}, {{ // Dustox
- }}, {{ // Lotad
- {EVO_LEVEL, 14, SPECIES_LOMBRE},
- }}, {{ // Lombre
- {EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO},
- }}, {{ // Ludicolo
- }}, {{ // Seedot
- {EVO_LEVEL, 14, SPECIES_NUZLEAF},
- }}, {{ // Nuzleaf
- {EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY},
- }}, {{ // Shiftry
- }}, {{ // Nincada
- {EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK},
- {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA},
- }}, {{ // Ninjask
- }}, {{ // Shedinja
- }}, {{ // Taillow
- {EVO_LEVEL, 22, SPECIES_SWELLOW},
- }}, {{ // Swellow
- }}, {{ // Shroomish
- {EVO_LEVEL, 23, SPECIES_BRELOOM},
- }}, {{ // Breloom
- }}, {{ // Spinda
- }}, {{ // Wingull
- {EVO_LEVEL, 25, SPECIES_PELIPPER},
- }}, {{ // Pelipper
- }}, {{ // Surskit
- {EVO_LEVEL, 22, SPECIES_MASQUERAIN},
- }}, {{ // Masquerain
- }}, {{ // Wailmer
- {EVO_LEVEL, 40, SPECIES_WAILORD},
- }}, {{ // Wailord
- }}, {{ // Skitty
- {EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY},
- }}, {{ // Delcatty
- }}, {{ // Kecleon
- }}, {{ // Baltoy
- {EVO_LEVEL, 36, SPECIES_CLAYDOL},
- }}, {{ // Claydol
- }}, {{ // Nosepass
- }}, {{ // Torkoal
- }}, {{ // Sableye
- }}, {{ // Barboach
- {EVO_LEVEL, 30, SPECIES_WHISCASH},
- }}, {{ // Whiscash
- }}, {{ // Luvdisc
- }}, {{ // Corphish
- {EVO_LEVEL, 30, SPECIES_CRAWDAUNT},
- }}, {{ // Crawdaunt
- }}, {{ // Feebas
- {EVO_BEAUTY, 170, SPECIES_MILOTIC},
- }}, {{ // Milotic
- }}, {{ // Carvanha
- {EVO_LEVEL, 30, SPECIES_SHARPEDO},
- }}, {{ // Sharpedo
- }}, {{ // Trapinch
- {EVO_LEVEL, 35, SPECIES_VIBRAVA},
- }}, {{ // Vibrava
- {EVO_LEVEL, 45, SPECIES_FLYGON},
- }}, {{ // Flygon
- }}, {{ // Makuhita
- {EVO_LEVEL, 24, SPECIES_HARIYAMA},
- }}, {{ // Hariyama
- }}, {{ // Electrike
- {EVO_LEVEL, 26, SPECIES_MANECTRIC},
- }}, {{ // Manectric
- }}, {{ // Numel
- {EVO_LEVEL, 33, SPECIES_CAMERUPT},
- }}, {{ // Camerupt
- }}, {{ // Spheal
- {EVO_LEVEL, 32, SPECIES_SEALEO},
- }}, {{ // Sealeo
- {EVO_LEVEL, 44, SPECIES_WALREIN},
- }}, {{ // Walrein
- }}, {{ // Cacnea
- {EVO_LEVEL, 32, SPECIES_CACTURNE},
- }}, {{ // Cacturne
- }}, {{ // Snorunt
- {EVO_LEVEL, 42, SPECIES_GLALIE},
- }}, {{ // Glalie
- }}, {{ // Lunatone
- }}, {{ // Solrock
- }}, {{ // Azurill
- {EVO_FRIENDSHIP, 0, SPECIES_MARILL},
- }}, {{ // Spoink
- {EVO_LEVEL, 32, SPECIES_GRUMPIG},
- }}, {{ // Grumpig
- }}, {{ // Plusle
- }}, {{ // Minun
- }}, {{ // Mawile
- }}, {{ // Meditite
- {EVO_LEVEL, 37, SPECIES_MEDICHAM},
- }}, {{ // Medicham
- }}, {{ // Swablu
- {EVO_LEVEL, 35, SPECIES_ALTARIA},
- }}, {{ // Altaria
- }}, {{ // Wynaut
- {EVO_LEVEL, 15, SPECIES_WOBBUFFET},
- }}, {{ // Duskull
- {EVO_LEVEL, 37, SPECIES_DUSCLOPS},
- }}, {{ // Dusclops
- }}, {{ // Roselia
- }}, {{ // Slakoth
- {EVO_LEVEL, 18, SPECIES_VIGOROTH},
- }}, {{ // Vigoroth
- {EVO_LEVEL, 36, SPECIES_SLAKING},
- }}, {{ // Slaking
- }}, {{ // Gulpin
- {EVO_LEVEL, 26, SPECIES_SWALOT},
- }}, {{ // Swalot
- }}, {{ // Tropius
- }}, {{ // Whismur
- {EVO_LEVEL, 20, SPECIES_LOUDRED},
- }}, {{ // Loudred
- {EVO_LEVEL, 40, SPECIES_EXPLOUD},
- }}, {{ // Exploud
- }}, {{ // Clamperl
- {EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL},
- {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS},
- }}, {{ // Huntail
- }}, {{ // Gorebyss
- }}, {{ // Absol
- }}, {{ // Shuppet
- {EVO_LEVEL, 37, SPECIES_BANETTE},
- }}, {{ // Banette
- }}, {{ // Seviper
- }}, {{ // Zangoose
- }}, {{ // Relicanth
- }}, {{ // Aron
- {EVO_LEVEL, 32, SPECIES_LAIRON},
- }}, {{ // Lairon
- {EVO_LEVEL, 42, SPECIES_AGGRON},
- }}, {{ // Aggron
- }}, {{ // Castform
- }}, {{ // Volbeat
- }}, {{ // Illumise
- }}, {{ // Lileep
- {EVO_LEVEL, 40, SPECIES_CRADILY},
- }}, {{ // Cradily
- }}, {{ // Anorith
- {EVO_LEVEL, 40, SPECIES_ARMALDO},
- }}, {{ // Armaldo
- }}, {{ // Ralts
- {EVO_LEVEL, 20, SPECIES_KIRLIA},
- }}, {{ // Kirlia
- {EVO_LEVEL, 30, SPECIES_GARDEVOIR},
- }}, {{ // Gardevoir
- }}, {{ // Bagon
- {EVO_LEVEL, 30, SPECIES_SHELGON},
- }}, {{ // Shelgon
- {EVO_LEVEL, 50, SPECIES_SALAMENCE},
- }}, {{ // Salamence
- }}, {{ // Beldum
- {EVO_LEVEL, 20, SPECIES_METANG},
- }}, {{ // Metang
- {EVO_LEVEL, 45, SPECIES_METAGROSS},
- }}, {{ // Metagross
- }}, {{ // Regirock
- }}, {{ // Regice
- }}, {{ // Registeel
- }}, {{ // Kyogre
- }}, {{ // Groudon
- }}, {{ // Rayquaza
- }}, {{ // Latias
- }}, {{ // Latios
- }}, {{ // Jirachi
- }}, {{ // Deoxys
- }}, {{ // Chimecho
- }}
+struct Evolution gEvolutionTable[NUM_SPECIES][5] =
+{
+ [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
+ [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}},
+ [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}},
+ [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}},
+ [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}},
+ [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}},
+ [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}},
+ [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}},
+ [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}},
+ [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}},
+ [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}},
+ [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}},
+ [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}},
+ [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}},
+ [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}},
+ [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}},
+ [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}},
+ [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}},
+ [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}},
+ [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}},
+ [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}},
+ [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}},
+ [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}},
+ [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}},
+ [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}},
+ [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}},
+ [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}},
+ [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME},
+ {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}},
+ [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}},
+ [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}},
+ [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}},
+ [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}},
+ [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}},
+ [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}},
+ [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}},
+ [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}},
+ [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH},
+ {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}},
+ [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}},
+ [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}},
+ [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}},
+ [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}},
+ [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}},
+ [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}},
+ [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}},
+ [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}},
+ [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}},
+ [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}},
+ [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO},
+ {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}},
+ [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}},
+ [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}},
+ [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}},
+ [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}},
+ [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}},
+ [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}},
+ [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}},
+ [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}},
+ [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}},
+ [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}},
+ [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}},
+ [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}},
+ [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}},
+ [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}},
+ [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}},
+ [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}},
+ [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}},
+ [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}},
+ [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}},
+ [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}},
+ [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}},
+ [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}},
+ [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON},
+ {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON},
+ {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON},
+ {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON},
+ {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}},
+ [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}},
+ [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}},
+ [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}},
+ [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}},
+ [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}},
+ [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}},
+ [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}},
+ [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}},
+ [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}},
+ [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}},
+ [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}},
+ [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}},
+ [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}},
+ [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}},
+ [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}},
+ [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}},
+ [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}},
+ [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}},
+ [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}},
+ [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}},
+ [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}},
+ [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}},
+ [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}},
+ [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}},
+ [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}},
+ [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}},
+ [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}},
+ [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}},
+ [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}},
+ [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}},
+ [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}},
+ [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}},
+ [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}},
+ [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}},
+ [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}},
+ [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}},
+ [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN},
+ {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE},
+ {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}},
+ [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}},
+ [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}},
+ [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}},
+ [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}},
+ [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}},
+ [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}},
+ [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}},
+ [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}},
+ [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}},
+ [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}},
+ [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}},
+ [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}},
+ [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}},
+ [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON},
+ {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}},
+ [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}},
+ [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}},
+ [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}},
+ [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}},
+ [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}},
+ [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}},
+ [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK},
+ {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}},
+ [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}},
+ [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}},
+ [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}},
+ [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}},
+ [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}},
+ [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}},
+ [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}},
+ [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}},
+ [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}},
+ [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}},
+ [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}},
+ [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}},
+ [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}},
+ [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}},
+ [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}},
+ [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}},
+ [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}},
+ [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}},
+ [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}},
+ [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}},
+ [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}},
+ [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}},
+ [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}},
+ [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}},
+ [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}},
+ [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}},
+ [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}},
+ [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}},
+ [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}},
+ [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}},
+ [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}},
+ [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL},
+ {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}},
+ [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}},
+ [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}},
+ [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}},
+ [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}},
+ [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}},
+ [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}},
+ [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}},
+ [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}},
+ [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}},
+ [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
+ [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
};
#endif //POKERUBY_EVOLUTION_H
diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index cd06228dd..c7409f3b2 100644
--- a/src/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -1,661 +1,72 @@
-//
-
-//
-
-#ifndef POKERUBY_ITEM_EFFECTS_H
-#define POKERUBY_ITEM_EFFECTS_H
-
-const u8 gItemEffect_Potion[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 20
-};
-
-const u8 gItemEffect_Antidote[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x10,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_BurnHeal[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x08,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_IceHeal[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_Awakening[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x20,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_ParalyzeHeal[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x02,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_FullRestore[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x3f,
- 0x04,
- 0x00,
- 0xff
-};
-
-const u8 gItemEffect_MaxPotion[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0xff
-};
-
-const u8 gItemEffect_HyperPotion[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 200
-};
-
-const u8 gItemEffect_SuperPotion[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 50
-};
-
-const u8 gItemEffect_FullHeal[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x3f,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_Revive[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x44,
- 0x00,
- 0xfe
-};
-
-const u8 gItemEffect_MaxRevive[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x44,
- 0x00,
- 0xff
-};
-
-const u8 gItemEffect_FreshWater[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 50
-};
-
-const u8 gItemEffect_SodaPop[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 60
-};
-
-const u8 gItemEffect_Lemonade[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 80
-};
-
-const u8 gItemEffect_MoomooMilk[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 100
-};
-
-const u8 gItemEffect_EnergyPowder[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0xe0,
- 50,
- 0xfb,
- 0xfb,
- 0xf6
-};
-
-const u8 gItemEffect_EnergyRoot[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0xe0,
- 200,
- 0xf6,
- 0xf6,
- 0xf1
-};
-
-const u8 gItemEffect_HealPowder[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x3f,
- 0x00,
- 0xe0,
- 0xfb,
- 0xfb,
- 0xf6
-};
-
-const u8 gItemEffect_RevivalHerb[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x44,
- 0xe0,
- 0xfe,
- 0xf1,
- 0xf1,
- 0xec
-};
-
-const u8 gItemEffect_Ether[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x18,
- 0x00,
- 0x0a
-};
-
-const u8 gItemEffect_MaxEther[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x18,
- 0x00,
- 0x7f
-};
-
-const u8 gItemEffect_Elixir[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x08,
- 0x00,
- 0x0a
-};
-
-const u8 gItemEffect_MaxElixir[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x08,
- 0x00,
- 0x7f
-};
-
-const u8 gItemEffect_LavaCookie[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x3f,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_BlueFlute[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x20,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_YellowFlute[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_RedFlute[] = {
- 0x80,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_BerryJuice[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 20
-};
-
-const u8 gItemEffect_SacredAsh[] = {
- 0x40,
- 0x00,
- 0x00,
- 0x00,
- 0x44,
- 0x00,
- 0xff
-};
-
-const u8 gItemEffect_HPUp[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0xe0,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_Protein[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x02,
- 0xe0,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_Iron[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xe1,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_Carbos[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xe2,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_Calcium[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xe8,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_RareCandy[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x40,
- 0x44,
- 0xe0,
- 253,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_PPUp[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x20,
- 0xe0,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_Zinc[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xe4,
- 0x0a,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_PPMax[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xf0,
- 0x05,
- 0x03,
- 0x02
-};
-
-const u8 gItemEffect_GuardSpec[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_DireHit[] = {
- 0x20,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_XAttack[] = {
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_XDefend[] = {
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_XSpeed[] = {
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_XAccuracy[] = {
- 0x00,
- 0x00,
- 0x10,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_XSpecial[] = {
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x60,
- 0x01,
- 0x01
-};
-
-const u8 gItemEffect_SunStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_MoonStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_FireStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_ThunderStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_WaterStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_LeafStone[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x80,
- 0x00
-};
-
-const u8 gItemEffect_CheriBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x02,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_ChestoBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x20,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_PechaBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x10,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_RawstBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x08,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_AspearBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_LeppaBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x18,
- 0x00,
- 0x0a
-};
-
-const u8 gItemEffect_OranBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 10
-};
-
-const u8 gItemEffect_PersimBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_LumBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x3f,
- 0x00,
- 0x00
-};
-
-const u8 gItemEffect_SitrusBerry[] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 30
-};
-
-const u8 *const gItemEffectTable[] = {
+#ifndef GUARD_ITEM_EFFECTS_H
+#define GUARD_ITEM_EFFECTS_H
+
+const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20};
+const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00};
+const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00};
+const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00};
+const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00};
+const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00};
+const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff};
+const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff};
+const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200};
+const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50};
+const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00};
+const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe};
+const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff};
+const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50};
+const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60};
+const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80};
+const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100};
+const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6};
+const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1};
+const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6};
+const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xfe, 0xf1, 0xf1, 0xec};
+const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a};
+const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f};
+const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a};
+const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f};
+const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00};
+const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00};
+const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00};
+const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00};
+const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20};
+const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff};
+const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02};
+const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02};
+const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02};
+const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02};
+const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01};
+const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00};
+const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00};
+const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00};
+const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00};
+const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00};
+const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00};
+const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a};
+const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10};
+const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00};
+const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00};
+const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30};
+
+const u8 *const gItemEffectTable[] =
+{
gItemEffect_Potion,
gItemEffect_Antidote,
gItemEffect_BurnHeal,
@@ -821,4 +232,4 @@ const u8 *const gItemEffectTable[] = {
NULL
};
-#endif //POKERUBY_ITEM_EFFECTS_H
+#endif //GUARD_ITEM_EFFECTS_H
diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h
index 19761c996..894a2b58e 100644
--- a/src/data/pokemon/level_up_learnset_pointers.h
+++ b/src/data/pokemon/level_up_learnset_pointers.h
@@ -5,7 +5,7 @@
#ifndef POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H
#define POKERUBY_LEVEL_UP_LEARNSET_POINTERS_H
-const u16 *const gLevelUpLearnsets[] = {
+const u16 *gLevelUpLearnsets[] = {
gBulbasaurLevelUpLearnset,
gBulbasaurLevelUpLearnset,
gIvysaurLevelUpLearnset,
diff --git a/src/data/pokemon/nature_stats.h b/src/data/pokemon/nature_stats.h
deleted file mode 100644
index fcef2a0ac..000000000
--- a/src/data/pokemon/nature_stats.h
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-
-//
-
-#ifndef POKERUBY_NATURE_STATS_H
-#define POKERUBY_NATURE_STATS_H
-
-const s8 gNatureStatTable[][5] = {
- // Atk Def Spd Sp.Atk Sp.Def
- { 0, 0, 0, 0, 0}, // Hardy
- { 1, -1, 0, 0, 0}, // Lonely
- { 1, 0, -1, 0, 0}, // Brave
- { 1, 0, 0, -1, 0}, // Adamant
- { 1, 0, 0, 0, -1}, // Naughty
- { -1, 1, 0, 0, 0}, // Bold
- { 0, 0, 0, 0, 0}, // Docile
- { 0, 1, -1, 0, 0}, // Relaxed
- { 0, 1, 0, -1, 0}, // Impish
- { 0, 1, 0, 0, -1}, // Lax
- { -1, 0, 1, 0, 0}, // Timid
- { 0, -1, 1, 0, 0}, // Hasty
- { 0, 0, 0, 0, 0}, // Serious
- { 0, 0, 1, -1, 0}, // Jolly
- { 0, 0, 1, 0, -1}, // Naive
- { -1, 0, 0, 1, 0}, // Modest
- { 0, -1, 0, 1, 0}, // Mild
- { 0, 0, -1, 1, 0}, // Quiet
- { 0, 0, 0, 0, 0}, // Bashful
- { 0, 0, 0, 1, -1}, // Rash
- { -1, 0, 0, 0, 1}, // Calm
- { 0, -1, 0, 0, 1}, // Gentle
- { 0, 0, -1, 0, 1}, // Sassy
- { 0, 0, 0, -1, 1}, // Careful
- { 0, 0, 0, 0, 0} // Quirky
-};
-
-#endif //POKERUBY_NATURE_STATS_H
diff --git a/src/data/pokemon/spinda_spots.h b/src/data/pokemon/spinda_spots.h
deleted file mode 100644
index d045e0734..000000000
--- a/src/data/pokemon/spinda_spots.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-
-//
-
-#ifndef POKERUBY_SPINDA_SPOTS_H
-#define POKERUBY_SPINDA_SPOTS_H
-
-const struct SpindaSpot gSpindaSpotGraphics[] = {
- {16, 14, INCBIN_U16("graphics/spinda_spots/spot_0.bin")},
- {40, 15, INCBIN_U16("graphics/spinda_spots/spot_1.bin")},
- {22, 32, INCBIN_U16("graphics/spinda_spots/spot_2.bin")},
- {34, 33, INCBIN_U16("graphics/spinda_spots/spot_3.bin")}
-};
-
-#endif //POKERUBY_SPINDA_SPOTS_H
diff --git a/src/field/daycare.c b/src/field/daycare.c
index 5811461ae..7e4530906 100644
--- a/src/field/daycare.c
+++ b/src/field/daycare.c
@@ -341,7 +341,7 @@ u16 GetEggSpecies(u16 species)
{
for (k = 0; k < 5; k++)
{
- if (gEvolutionTable[j].evolutions[k].targetSpecies == species)
+ if (gEvolutionTable[j][k].targetSpecies == species)
{
species = j;
found = TRUE;
diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c
index bfd0bc972..0242e7444 100644
--- a/src/pokemon/pokemon_1.c
+++ b/src/pokemon/pokemon_1.c
@@ -1,13 +1,16 @@
#include "global.h"
#include "data2.h"
+#include "constants/abilities.h"
#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/species.h"
#include "main.h"
#include "pokemon.h"
#include "random.h"
#include "overworld.h"
-#include "constants/species.h"
#include "sprite.h"
#include "string_util.h"
+#include "trainer.h"
#include "text.h"
#include "ewram.h"
@@ -26,6 +29,59 @@ struct Pokemon gPlayerParty[6];
u8 gEnemyPartyCount;
struct Pokemon gEnemyParty[6];
+const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151};
+const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358};
+const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411};
+
+const struct SpindaSpot gSpindaSpotGraphics[] =
+{
+ {16, 14, INCBIN_U16("graphics/spinda_spots/spot_0.bin")},
+ {40, 15, INCBIN_U16("graphics/spinda_spots/spot_1.bin")},
+ {22, 32, INCBIN_U16("graphics/spinda_spots/spot_2.bin")},
+ {34, 33, INCBIN_U16("graphics/spinda_spots/spot_3.bin")}
+};
+
+#include "../data/pokemon/item_effects.h"
+
+const s8 gNatureStatTable[][5] =
+{
+ // Atk Def Spd Sp.Atk Sp.Def
+ { 0, 0, 0, 0, 0}, // Hardy
+ { +1, -1, 0, 0, 0}, // Lonely
+ { +1, 0, -1, 0, 0}, // Brave
+ { +1, 0, 0, -1, 0}, // Adamant
+ { +1, 0, 0, 0, -1}, // Naughty
+ { -1, +1, 0, 0, 0}, // Bold
+ { 0, 0, 0, 0, 0}, // Docile
+ { 0, +1, -1, 0, 0}, // Relaxed
+ { 0, +1, 0, -1, 0}, // Impish
+ { 0, +1, 0, 0, -1}, // Lax
+ { -1, 0, +1, 0, 0}, // Timid
+ { 0, -1, +1, 0, 0}, // Hasty
+ { 0, 0, 0, 0, 0}, // Serious
+ { 0, 0, +1, -1, 0}, // Jolly
+ { 0, 0, +1, 0, -1}, // Naive
+ { -1, 0, 0, +1, 0}, // Modest
+ { 0, -1, 0, +1, 0}, // Mild
+ { 0, 0, -1, +1, 0}, // Quiet
+ { 0, 0, 0, 0, 0}, // Bashful
+ { 0, 0, 0, +1, -1}, // Rash
+ { -1, 0, 0, 0, +1}, // Calm
+ { 0, -1, 0, 0, +1}, // Gentle
+ { 0, 0, -1, 0, +1}, // Sassy
+ { 0, 0, 0, -1, +1}, // Careful
+ { 0, 0, 0, 0, 0} // Quirky
+};
+
+#include "../data/pokemon/tmhm_learnsets.h"
+#include "../data/pokemon/trainer_class_lookups.h"
+#include "../data/pokemon/cry_ids.h"
+#include "../data/pokemon/experience_tables.h"
+#include "../data/pokemon/base_stats.h"
+#include "../data/pokemon/level_up_learnsets.h"
+#include "../data/pokemon/evolution.h"
+#include "../data/pokemon/level_up_learnset_pointers.h"
+
void ZeroBoxMonData(struct BoxPokemon *boxMon)
{
u8 *raw = (u8 *)boxMon;
@@ -401,7 +457,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon)
s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \
u8 nature = GetNature(mon); \
n = nature_stat_mod(nature, n, statIndex); \
- SetMonData(mon, field, &n); \
+ SetMonData(mon, field, &n); \
}
void CalculateMonStats(struct Pokemon *mon)
diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c
index eb56974cd..b941ed2ab 100644
--- a/src/pokemon/pokemon_2.c
+++ b/src/pokemon/pokemon_2.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "constants/hold_effects.h"
#include "battle.h"
#include "battle_util.h"
#include "data2.h"
@@ -12,6 +13,7 @@
#include "string_util.h"
#include "strings2.h"
#include "text.h"
+#include "trainer.h"
#include "util.h"
#include "ewram.h"
@@ -40,11 +42,12 @@ extern const struct SpriteTemplate gSpriteTemplate_8208288[];
//array of pointers to arrays of pointers to union AnimCmd (We probably need to typedef this.)
extern u8 gTrainerClassToPicIndex[];
extern u8 gTrainerClassToNameIndex[];
-extern u8 gSecretBaseTrainerClasses[][5];
-extern u8 gUnknown_08208238[];
-extern u8 gUnknown_0820823C[];
-extern u8 gStatStageRatios[][2];
-extern u8 gHoldEffectToType[][2];
+
+extern const u8 gUnknown_08208238[];
+extern const u8 gUnknown_0820823C[];
+
+extern void sub_80105A0(struct Sprite *);
+extern void oac_poke_opponent(struct Sprite *);
u8 CountAliveMons(u8 a1)
{
@@ -145,6 +148,14 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
return MON_MALE;
}
+const struct SpriteTemplate gSpriteTemplate_8208288[] =
+{
+ {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
+ {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
+ {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
+ {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
+};
+
void GetMonSpriteTemplate_803C56C(u16 species, u8 a2)
{
gUnknown_02024E8C = gSpriteTemplate_8208288[a2];
@@ -1094,6 +1105,13 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord)
gTrainerBattleOpponent = 1024;
}
+const u8 gSecretBaseTrainerClasses[][5] = {
+ // male
+ {FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOL_TRAINER_M},
+ // female
+ {FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOL_TRAINER_F}
+};
+
u8 GetSecretBaseTrainerPicIndex(void)
{
u8 trainerClass = gSecretBaseTrainerClasses[eSecretBaseRecord->gender][eSecretBaseRecord->trainerId[0] % 5];
diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c
index d659ed680..221de831a 100644
--- a/src/pokemon/pokemon_3.c
+++ b/src/pokemon/pokemon_3.c
@@ -1,11 +1,12 @@
#include "global.h"
+#include "constants/hold_effects.h"
+#include "constants/items.h"
+#include "constants/moves.h"
#include "battle.h"
#include "battle_message.h"
#include "data2.h"
#include "event_data.h"
-#include "constants/hold_effects.h"
#include "item.h"
-#include "constants/items.h"
#include "link.h"
#include "m4a.h"
#include "main.h"
@@ -42,20 +43,16 @@ extern u8 gStringBank;
extern u8 gBankInMenu;
extern struct SpindaSpot gSpindaSpotGraphics[];
extern s8 gNatureStatTable[][5];
-extern s8 gUnknown_082082FE[][3];
extern u16 gTrainerBattleOpponent;
extern u16 gBattleTypeFlags;
extern u32 gTMHMLearnsets[][2];
extern u8 gBattleMonForms[];
extern const u8 BattleText_Wally[];
-extern const u16 gHMMoves[];
extern s8 gPokeblockFlavorCompatibilityTable[];
extern u8 gLastUsedAbility;
extern const u8 BattleText_PreventedSwitch[];
extern u16 gBattlePartyID[];
-extern u8 gJapaneseNidoranNames[][11];
-extern u8 gUnknown_082082F8[];
extern u8 BattleText_Rose[];
extern u8 BattleText_UnknownString3[];
extern u8 BattleText_MistShroud[];
@@ -193,6 +190,8 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit)
return offset;
}
+const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6};
+
void sub_803F324(int stat)
{
gBankTarget = gBankInMenu;
@@ -290,56 +289,56 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
for (i = 0; i < 5; i++)
{
- switch (gEvolutionTable[species].evolutions[i].method)
+ switch (gEvolutionTable[species][i].method)
{
case EVO_FRIENDSHIP:
if (friendship >= 220)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_FRIENDSHIP_DAY:
RtcCalcLocalTime();
if (gLocalTime.hours >= 12 && gLocalTime.hours < 24 && friendship >= 220)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_FRIENDSHIP_NIGHT:
RtcCalcLocalTime();
if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && friendship >= 220)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL:
- if (gEvolutionTable[species].evolutions[i].param <= level)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ if (gEvolutionTable[species][i].param <= level)
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_ATK_GT_DEF:
- if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (gEvolutionTable[species][i].param <= level)
if (GetMonData(mon, MON_DATA_ATK, 0) > GetMonData(mon, MON_DATA_DEF, 0))
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_ATK_EQ_DEF:
- if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (gEvolutionTable[species][i].param <= level)
if (GetMonData(mon, MON_DATA_ATK, 0) == GetMonData(mon, MON_DATA_DEF, 0))
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_ATK_LT_DEF:
- if (gEvolutionTable[species].evolutions[i].param <= level)
+ if (gEvolutionTable[species][i].param <= level)
if (GetMonData(mon, MON_DATA_ATK, 0) < GetMonData(mon, MON_DATA_DEF, 0))
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_SILCOON:
- if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) <= 4)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) <= 4)
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_CASCOON:
- if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) > 4)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ if (gEvolutionTable[species][i].param <= level && (upperPersonality % 10) > 4)
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_LEVEL_NINJASK:
- if (gEvolutionTable[species].evolutions[i].param <= level)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ if (gEvolutionTable[species][i].param <= level)
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_BEAUTY:
- if (gEvolutionTable[species].evolutions[i].param <= beauty)
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ if (gEvolutionTable[species][i].param <= beauty)
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
}
}
@@ -347,17 +346,17 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
case 1:
for (i = 0; i < 5; i++)
{
- switch (gEvolutionTable[species].evolutions[i].method)
+ switch (gEvolutionTable[species][i].method)
{
case EVO_TRADE:
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
case EVO_TRADE_ITEM:
- if (gEvolutionTable[species].evolutions[i].param == heldItem)
+ if (gEvolutionTable[species][i].param == heldItem)
{
heldItem = 0;
SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem);
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
}
break;
}
@@ -367,10 +366,10 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
case 3:
for (i = 0; i < 5; i++)
{
- if (gEvolutionTable[species].evolutions[i].method == EVO_ITEM
- && gEvolutionTable[species].evolutions[i].param == evolutionItem)
+ if (gEvolutionTable[species][i].method == EVO_ITEM
+ && gEvolutionTable[species][i].param == evolutionItem)
{
- targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
+ targetSpecies = gEvolutionTable[species][i].targetSpecies;
break;
}
}
@@ -644,6 +643,20 @@ u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex)
return n;
}
+const s8 gUnknown_082082FE[][3] =
+{
+ // Happiness deltas
+ { 5, 3, 2},
+ { 5, 3, 2},
+ { 1, 1, 0},
+ { 3, 2, 1},
+ { 1, 1, 0},
+ { 1, 1, 1},
+ {-1, -1, -1},
+ {-5, -5, -10},
+ {-5, -5, -10}
+};
+
void AdjustFriendship(struct Pokemon *mon, u8 event)
{
u16 species = GetMonData(mon, MON_DATA_SPECIES2, 0);
@@ -653,13 +666,9 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
if (heldItem == ITEM_ENIGMA_BERRY)
{
if (gMain.inBattle)
- {
holdEffect = gEnigmaBerries[0].holdEffect;
- }
else
- {
holdEffect = gSaveBlock1.enigmaBerry.holdEffect;
- }
}
else
{
@@ -758,13 +767,9 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies)
if (heldItem == ITEM_ENIGMA_BERRY)
{
if (gMain.inBattle)
- {
holdEffect = gEnigmaBerries[0].holdEffect;
- }
else
- {
holdEffect = gSaveBlock1.enigmaBerry.holdEffect;
- }
}
else
{
@@ -1198,6 +1203,19 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u
return &gMonPaletteTable[species];
}
+const u16 gHMMoves[] =
+{
+ MOVE_CUT,
+ MOVE_FLY,
+ MOVE_SURF,
+ MOVE_STRENGTH,
+ MOVE_FLASH,
+ MOVE_ROCK_SMASH,
+ MOVE_WATERFALL,
+ MOVE_DIVE,
+ 0xffff
+};
+
bool32 IsHMMove2(u16 move)
{
int i = 0;
@@ -1338,12 +1356,14 @@ u8 *sub_8040D08(void)
return gLinkPlayers[sub_803FC34(gLinkPlayers[id].lp_field_18 ^ 2)].name;
}
+const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")};
+
bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language)
{
bool32 retVal = FALSE;
if (species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F)
{
- u8 *speciesName;
+ const u8 *speciesName;
if (language == GAME_LANGUAGE)
{
speciesName = gSpeciesNames[species];
diff --git a/src/pokemon/pokemon_data.c b/src/pokemon/pokemon_data.c
index 031f2ea24..3473b58c8 100644
--- a/src/pokemon/pokemon_data.c
+++ b/src/pokemon/pokemon_data.c
@@ -9,120 +9,4 @@
#include "sprite.h"
#include "data2.h"
-#include "../data/pokemon/dex_order.h"
-#include "../data/pokemon/spinda_spots.h"
-#include "../data/pokemon/item_effects.h"
-#include "../data/pokemon/nature_stats.h"
-#include "../data/pokemon/tmhm_learnsets.h"
-#include "../data/pokemon/trainer_class_lookups.h"
-#include "../data/pokemon/cry_ids.h"
-#include "../data/pokemon/experience_tables.h"
-#include "../data/pokemon/base_stats.h"
-#include "../data/pokemon/level_up_learnsets.h"
-#include "../data/pokemon/evolution.h"
-#include "../data/pokemon/level_up_learnset_pointers.h"
-const u8 gUnknown_08208238[] = { // Masks for getting PP Up count, also PP Max values
- 0x03, 0x0c, 0x30, 0xc0
-};
-
-const u8 gUnknown_0820823C[] = { // Masks for setting PP Up count
- 0xFC, 0xF3, 0xCF, 0x3F
-};
-
-const u8 gUnknown_08208240[] = { // Values added to PP Up count
- 0x01, 0x04, 0x10, 0x40
-};
-
-const u8 gStatStageRatios[][2] = {
- {10, 40}, // -6
- {10, 35}, // -5
- {10, 30}, // -4
- {10, 25}, // -3
- {10, 20}, // -2
- {10, 15}, // -1
- {10, 10}, // 0
- {15, 10}, // 1
- {20, 10}, // 2
- {25, 10}, // 3
- {30, 10}, // 4
- {35, 10}, // 5
- {40, 10} // 6
-};
-
-const u8 unknownGameFreakAbbrev_820825E[] = _("ゲーフリ");
-
-const u8 gHoldEffectToType[][2] = {
- {HOLD_EFFECT_BUG_POWER, TYPE_BUG},
- {HOLD_EFFECT_STEEL_POWER, TYPE_STEEL},
- {HOLD_EFFECT_GROUND_POWER, TYPE_GROUND},
- {HOLD_EFFECT_ROCK_POWER, TYPE_ROCK},
- {HOLD_EFFECT_GRASS_POWER, TYPE_GRASS},
- {HOLD_EFFECT_DARK_POWER, TYPE_DARK},
- {HOLD_EFFECT_FIGHTING_POWER, TYPE_FIGHTING},
- {HOLD_EFFECT_ELECTRIC_POWER, TYPE_ELECTRIC},
- {HOLD_EFFECT_WATER_POWER, TYPE_WATER},
- {HOLD_EFFECT_FLYING_POWER, TYPE_FLYING},
- {HOLD_EFFECT_POISON_POWER, TYPE_POISON},
- {HOLD_EFFECT_ICE_POWER, TYPE_ICE},
- {HOLD_EFFECT_GHOST_POWER, TYPE_GHOST},
- {HOLD_EFFECT_PSYCHIC_POWER, TYPE_PSYCHIC},
- {HOLD_EFFECT_FIRE_POWER, TYPE_FIRE},
- {HOLD_EFFECT_DRAGON_POWER, TYPE_DRAGON},
- {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL}
-};
-
-extern void sub_80105A0(struct Sprite *);
-extern void oac_poke_opponent(struct Sprite *);
-
-const struct SpriteTemplate gSpriteTemplate_8208288[] = {
- {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A10, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
- {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A30, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
- {0xFFFF, 0, &gOamData_81F96F0, NULL, gSpriteImageTable_81E7A50, gSpriteAffineAnimTable_81E7B70, sub_80105A0},
- {0xFFFF, 0, &gOamData_81F96E8, NULL, gSpriteImageTable_81E7A70, gSpriteAffineAnimTable_81E7BEC, oac_poke_opponent},
-};
-
-const u8 gSecretBaseTrainerClasses[][5] = {
- // male
- {FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_BUG_CATCHER, FACILITY_CLASS_RICH_BOY, FACILITY_CLASS_CAMPER, FACILITY_CLASS_COOL_TRAINER_M},
- // female
- {FACILITY_CLASS_LASS, FACILITY_CLASS_SCHOOL_KID_F, FACILITY_CLASS_LADY, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_COOL_TRAINER_F}
-};
-
-const u8 gUnknown_082082F2[] = {
- MON_DATA_HP_EV,
- MON_DATA_ATK_EV,
- MON_DATA_DEF_EV,
- MON_DATA_SPEED_EV,
- MON_DATA_SPDEF_EV,
- MON_DATA_SPATK_EV
-};
-
-const u8 gUnknown_082082F8[] = {1, 1, 3, 2, 4, 6};
-
-const s8 gUnknown_082082FE[][3] = {
- // Happiness deltas
- { 5, 3, 2},
- { 5, 3, 2},
- { 1, 1, 0},
- { 3, 2, 1},
- { 1, 1, 0},
- { 1, 1, 1},
- {-1, -1, -1},
- {-5, -5, -10},
- {-5, -5, -10}
-};
-
-const u16 gHMMoves[] = {
- MOVE_CUT,
- MOVE_FLY,
- MOVE_SURF,
- MOVE_STRENGTH,
- MOVE_FLASH,
- MOVE_ROCK_SMASH,
- MOVE_WATERFALL,
- MOVE_DIVE,
- 0xffff
-};
-
-const u8 gJapaneseNidoranNames[][11] = {_("ニドラン♂"), _("ニドラン♀")};
diff --git a/src/pokemon/pokemon_item_effect.c b/src/pokemon/pokemon_item_effect.c
new file mode 100644
index 000000000..66f2ff697
--- /dev/null
+++ b/src/pokemon/pokemon_item_effect.c
@@ -0,0 +1,11 @@
+#include "global.h"
+#include "pokemon.h"
+
+const u8 gUnknown_082082F2[] = {
+ MON_DATA_HP_EV,
+ MON_DATA_ATK_EV,
+ MON_DATA_DEF_EV,
+ MON_DATA_SPEED_EV,
+ MON_DATA_SPDEF_EV,
+ MON_DATA_SPATK_EV
+};
diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c
index 697806ee1..931ec0d4d 100644
--- a/src/scene/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -497,35 +497,31 @@ static void CB2_TradeEvolutionSceneUpdate(void)
static void CreateShedinja(u16 preEvoSpecies, struct Pokemon* mon)
{
u32 data = 0;
- if (gEvolutionTable[preEvoSpecies].evolutions[0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6)
+
+ if (gEvolutionTable[preEvoSpecies][0].method == EVO_LEVEL_NINJASK && gPlayerPartyCount < 6)
{
s32 i;
struct Pokemon* Shedinja = &gPlayerParty[gPlayerPartyCount];
- const struct EvolutionData* EvoTable;
- const struct EvolutionData* Evos;
CopyMon(Shedinja, mon, sizeof(struct Pokemon));
- SetMonData(Shedinja, MON_DATA_SPECIES, (void*)(&gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies));
- SetMonData(Shedinja, MON_DATA_NICKNAME, (void*)(gSpeciesNames[gEvolutionTable[preEvoSpecies].evolutions[1].targetSpecies]));
- SetMonData(Shedinja, MON_DATA_HELD_ITEM, (void*)(&data));
- SetMonData(Shedinja, MON_DATA_MARKINGS, (void*)(&data));
- SetMonData(Shedinja, MON_DATA_10, (void*)(&data));
+ SetMonData(Shedinja, MON_DATA_SPECIES, (void*)&gEvolutionTable[preEvoSpecies][1].targetSpecies);
+ SetMonData(Shedinja, MON_DATA_NICKNAME, (void*)gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies]);
+ SetMonData(Shedinja, MON_DATA_HELD_ITEM, (void*)&data);
+ SetMonData(Shedinja, MON_DATA_MARKINGS, (void*)&data);
+ SetMonData(Shedinja, MON_DATA_10, (void*)&data);
for (i = MON_DATA_COOL_RIBBON; i < MON_DATA_COOL_RIBBON + 5; i++)
- SetMonData(Shedinja, i, (void*)(&data));
+ SetMonData(Shedinja, i, (void*)&data);
for (i = MON_DATA_CHAMPION_RIBBON; i <= MON_DATA_FATEFUL_ENCOUNTER; i++)
- SetMonData(Shedinja, i, (void*)(&data));
- SetMonData(Shedinja, MON_DATA_STATUS, (void*)(&data));
+ SetMonData(Shedinja, i, (void*)&data);
+ SetMonData(Shedinja, MON_DATA_STATUS, (void*)&data);
data = 0xFF;
- SetMonData(Shedinja, MON_DATA_MAIL, (void*)(&data));
+ SetMonData(Shedinja, MON_DATA_MAIL, (void*)&data);
CalculateMonStats(Shedinja);
CalculatePlayerPartyCount();
- // can't match it otherwise, ehh
- EvoTable = gEvolutionTable;
- Evos = EvoTable + preEvoSpecies;
- GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 2);
- GetSetPokedexFlag(SpeciesToNationalPokedexNum(Evos->evolutions[1].targetSpecies), 3);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), 2);
+ GetSetPokedexFlag(SpeciesToNationalPokedexNum(gEvolutionTable[preEvoSpecies][1].targetSpecies), 3);
if (GetMonData(Shedinja, MON_DATA_SPECIES) == SPECIES_SHEDINJA
&& GetMonData(Shedinja, MON_DATA_LANGUAGE) == LANGUAGE_JAPANESE