diff options
author | camthesaxman <cameronghall@cox.net> | 2018-01-14 10:36:07 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2018-01-14 10:36:07 -0600 |
commit | 101f16355a222b0b58029a9ff77cf5e4f9287ca8 (patch) | |
tree | 9319903c3dd46db4d338127235d63afd56748622 | |
parent | b9388f078ed95e80ac73b35eeb206e52ce376b0c (diff) |
format and arrange some Pokemon data
-rw-r--r-- | include/pokemon.h | 4 | ||||
-rw-r--r-- | ld_script.txt | 7 | ||||
-rw-r--r-- | src/battle/calculate_base_damage.c | 60 | ||||
-rw-r--r-- | src/data/pokemon/base_stats.h | 826 | ||||
-rw-r--r-- | src/data/pokemon/dex_order.h | 15 | ||||
-rw-r--r-- | src/data/pokemon/evolution.h | 788 | ||||
-rw-r--r-- | src/data/pokemon/item_effects.h | 729 | ||||
-rw-r--r-- | src/data/pokemon/level_up_learnset_pointers.h | 2 | ||||
-rw-r--r-- | src/data/pokemon/nature_stats.h | 37 | ||||
-rw-r--r-- | src/data/pokemon/spinda_spots.h | 15 | ||||
-rw-r--r-- | src/field/daycare.c | 2 | ||||
-rw-r--r-- | src/pokemon/pokemon_1.c | 60 | ||||
-rw-r--r-- | src/pokemon/pokemon_2.c | 28 | ||||
-rw-r--r-- | src/pokemon/pokemon_3.c | 104 | ||||
-rw-r--r-- | src/pokemon/pokemon_data.c | 116 | ||||
-rw-r--r-- | src/pokemon/pokemon_item_effect.c | 11 | ||||
-rw-r--r-- | src/scene/evolution_scene.c | 30 |
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 |