diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h new file mode 100644 index 000000000..f0fcc5fc0 --- /dev/null +++ b/include/constants/pokemon_config.h @@ -0,0 +1,19 @@ +#ifndef GUARD_CONSTANTS_POKEMON_CONFIG_H +#define GUARD_CONSTANTS_POKEMON_CONFIG_H + +// Used by other branches to communicate with each other. +#define POKEMON_EXPANSION + +#ifndef GEN_3 +#define GEN_3 0 +#define GEN_4 1 +#define GEN_5 2 +#define GEN_6 3 +#define GEN_7 4 +#define GEN_8 5 +#endif + +#define P_UPDATED_TYPES GEN_8 // In Gen6+, several Pokémon were changed to be partially or fully Fairy type. +#define P_UPDATED_STATS GEN_8 // Since Gen 6, Pokémon stats are updated with each passing generation. + +#endif // GUARD_CONSTANTS_POKEMON_CONFIG_H diff --git a/include/pokemon.h b/include/pokemon.h index a9ce1d149..f503f30cf 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -4,6 +4,7 @@ #include "constants/pokemon.h" #include "sprite.h" #include "constants/region_map_sections.h" +#include "constants/pokemon_config.h" struct PokemonSubstruct0 { diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index 2dca94a4a..4ce140949 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -290,7 +290,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 45, .baseDefense = 50, .baseSpeed = 70, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 90, + #else + .baseSpAttack = 80, + #endif .baseSpDefense = 80, .type1 = TYPE_BUG, .type2 = TYPE_FLYING, @@ -363,7 +367,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_BEEDRILL] = { .baseHP = 65, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 90, + #else + .baseAttack = 80, + #endif .baseDefense = 40, .baseSpeed = 75, .baseSpAttack = 45, @@ -442,7 +450,11 @@ const struct BaseStats gBaseStats[] = .baseHP = 83, .baseAttack = 80, .baseDefense = 75, + #if P_UPDATED_STATS >= GEN_6 .baseSpeed = 101, + #else + .baseSpeed = 91, + #endif .baseSpAttack = 70, .baseSpDefense = 70, .type1 = TYPE_NORMAL, @@ -592,7 +604,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_ARBOK] = { .baseHP = 60, + #if P_UPDATED_STATS >= GEN_7 .baseAttack = 95, + #else + .baseAttack = 85, + #endif .baseDefense = 69, .baseSpeed = 80, .baseSpAttack = 65, @@ -618,10 +634,17 @@ const struct BaseStats gBaseStats[] = { .baseHP = 35, .baseAttack = 55, + #if P_UPDATED_STATS >= GEN_6 .baseDefense = 40, .baseSpeed = 90, .baseSpAttack = 50, .baseSpDefense = 50, + #else + .baseDefense = 30, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 40, + #endif .type1 = TYPE_ELECTRIC, .type2 = TYPE_ELECTRIC, .catchRate = 190, @@ -645,7 +668,11 @@ const struct BaseStats gBaseStats[] = .baseHP = 60, .baseAttack = 90, .baseDefense = 55, + #if P_UPDATED_STATS >= GEN_6 .baseSpeed = 110, + #else + .baseSpeed = 100, + #endif .baseSpAttack = 90, .baseSpDefense = 80, .type1 = TYPE_ELECTRIC, @@ -770,7 +797,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_NIDOQUEEN] = { .baseHP = 90, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 92, + #else + .baseAttack = 82, + #endif .baseDefense = 87, .baseSpeed = 76, .baseSpAttack = 75, @@ -845,7 +876,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_NIDOKING] = { .baseHP = 81, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 102, + #else + .baseAttack = 92, + #endif .baseDefense = 77, .baseSpeed = 85, .baseSpAttack = 85, @@ -875,8 +910,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 35, .baseSpAttack = 60, .baseSpDefense = 65, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 150, .expYield = 113, .evYield_HP = 2, @@ -899,10 +939,19 @@ const struct BaseStats gBaseStats[] = .baseAttack = 70, .baseDefense = 73, .baseSpeed = 60, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 95, + #else + .baseSpAttack = 85, + #endif .baseSpDefense = 90, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 25, .expYield = 217, .evYield_HP = 3, @@ -980,8 +1029,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 20, .baseSpAttack = 45, .baseSpDefense = 25, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_NORMAL, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 170, .expYield = 95, .evYield_HP = 2, @@ -1004,10 +1058,19 @@ const struct BaseStats gBaseStats[] = .baseAttack = 70, .baseDefense = 45, .baseSpeed = 45, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 85, + #else + .baseSpAttack = 75, + #endif .baseSpDefense = 50, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_NORMAL, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 50, .expYield = 196, .evYield_HP = 3, @@ -1132,7 +1195,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 80, .baseDefense = 85, .baseSpeed = 50, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 110, + #else + .baseSpAttack = 100, + #endif .baseSpDefense = 90, .type1 = TYPE_GRASS, .type2 = TYPE_POISON, @@ -1288,7 +1355,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_DUGTRIO] = { .baseHP = 35, + #if P_UPDATED_STATS >= GEN_7 .baseAttack = 100, + #else + .baseAttack = 80, + #endif .baseDefense = 50, .baseSpeed = 120, .baseSpAttack = 50, @@ -1567,7 +1638,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_POLIWRATH] = { .baseHP = 90, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 95, + #else + .baseAttack = 85, + #endif .baseDefense = 95, .baseSpeed = 70, .baseSpAttack = 70, @@ -1649,7 +1724,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 45, .baseSpeed = 120, .baseSpAttack = 135, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 95, + #else + .baseSpDefense = 85, + #endif .type1 = TYPE_PSYCHIC, .type2 = TYPE_PSYCHIC, .catchRate = 50, @@ -1803,7 +1882,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 65, .baseSpeed = 70, .baseSpAttack = 100, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 70, + #else + .baseSpDefense = 60, + #endif .type1 = TYPE_GRASS, .type2 = TYPE_POISON, .catchRate = 45, @@ -1928,7 +2011,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_GOLEM] = { .baseHP = 80, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 120, + #else + .baseAttack = 110, + #endif .baseDefense = 130, .baseSpeed = 45, .baseSpAttack = 55, @@ -2108,7 +2195,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_FARFETCHD] = { .baseHP = 52, + #if P_UPDATED_STATS >= GEN_7 .baseAttack = 90, + #else + .baseAttack = 65, + #endif .baseDefense = 55, .baseSpeed = 60, .baseSpAttack = 58, @@ -2162,7 +2253,11 @@ const struct BaseStats gBaseStats[] = .baseHP = 60, .baseAttack = 110, .baseDefense = 70, + #if P_UPDATED_STATS >= GEN_7 .baseSpeed = 110, + #else + .baseSpeed = 100, + #endif .baseSpAttack = 60, .baseSpDefense = 60, .type1 = TYPE_NORMAL, @@ -2567,7 +2662,11 @@ const struct BaseStats gBaseStats[] = .baseHP = 60, .baseAttack = 50, .baseDefense = 70, + #if P_UPDATED_STATS >= GEN_7 .baseSpeed = 150, + #else + .baseSpeed = 140, + #endif .baseSpAttack = 80, .baseSpDefense = 80, .type1 = TYPE_ELECTRIC, @@ -2620,7 +2719,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 85, .baseSpeed = 55, .baseSpAttack = 125, + #if P_UPDATED_STATS >= GEN_7 .baseSpDefense = 75, + #else + .baseSpDefense = 65, + #endif .type1 = TYPE_GRASS, .type2 = TYPE_PSYCHIC, .catchRate = 45, @@ -3109,8 +3212,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 90, .baseSpAttack = 100, .baseSpDefense = 120, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_PSYCHIC, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + #endif .catchRate = 45, .expYield = 161, .evYield_SpDefense = 2, @@ -4175,7 +4283,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 50, .baseDefense = 50, .baseSpeed = 70, + #if P_UPDATED_STATS >= GEN_7 .baseSpAttack = 86, + #else + .baseSpAttack = 76, + #endif .baseSpDefense = 96, .type1 = TYPE_NORMAL, .type2 = TYPE_FLYING, @@ -4276,7 +4388,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 70, .baseSpeed = 40, .baseSpAttack = 60, + #if P_UPDATED_STATS >= GEN_7 .baseSpDefense = 70, + #else + .baseSpDefense = 60, + #endif .type1 = TYPE_BUG, .type2 = TYPE_POISON, .catchRate = 90, @@ -4404,8 +4520,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 15, .baseSpAttack = 45, .baseSpDefense = 55, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 150, .expYield = 44, .evYield_SpDefense = 1, @@ -4430,8 +4551,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 15, .baseSpAttack = 40, .baseSpDefense = 20, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_NORMAL, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 170, .expYield = 42, .evYield_HP = 1, @@ -4455,8 +4581,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 20, .baseSpAttack = 40, .baseSpDefense = 65, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 190, .expYield = 49, .evYield_SpDefense = 1, @@ -4480,8 +4611,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 40, .baseSpAttack = 80, .baseSpDefense = 105, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FLYING, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + #endif .catchRate = 75, .expYield = 142, .evYield_SpDefense = 2, @@ -4602,7 +4738,11 @@ const struct BaseStats gBaseStats[] = { .baseHP = 90, .baseAttack = 75, + #if P_UPDATED_STATS >= GEN_6 .baseDefense = 85, + #else + .baseDefense = 75, + #endif .baseSpeed = 55, .baseSpAttack = 115, .baseSpDefense = 90, @@ -4627,7 +4767,11 @@ const struct BaseStats gBaseStats[] = { .baseHP = 75, .baseAttack = 80, + #if P_UPDATED_STATS >= GEN_6 .baseDefense = 95, + #else + .baseDefense = 85, + #endif .baseSpeed = 50, .baseSpAttack = 90, .baseSpDefense = 100, @@ -4657,8 +4801,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 40, .baseSpAttack = 20, .baseSpDefense = 50, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_WATER, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + #endif .catchRate = 190, .expYield = 88, .evYield_HP = 2, @@ -4680,10 +4829,19 @@ const struct BaseStats gBaseStats[] = .baseAttack = 50, .baseDefense = 80, .baseSpeed = 50, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 60, + #else + .baseSpAttack = 50, + #endif .baseSpDefense = 80, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_WATER, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + #endif .catchRate = 75, .expYield = 189, .evYield_HP = 3, @@ -4807,7 +4965,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 70, .baseSpeed = 110, .baseSpAttack = 55, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 95, + #else + .baseSpDefense = 85, + #endif .type1 = TYPE_GRASS, .type2 = TYPE_FLYING, .catchRate = 45, @@ -5310,8 +5472,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 30, .baseSpAttack = 40, .baseSpDefense = 40, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 190, .expYield = 60, .evYield_Attack = 1, @@ -5335,8 +5502,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 45, .baseSpAttack = 60, .baseSpDefense = 60, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 75, .expYield = 158, .evYield_Attack = 2, @@ -5356,7 +5528,11 @@ const struct BaseStats gBaseStats[] = { .baseHP = 65, .baseAttack = 95, + #if P_UPDATED_STATS >= GEN_7 .baseDefense = 85, + #else + .baseDefense = 75, + #endif .baseSpeed = 85, .baseSpAttack = 55, .baseSpDefense = 55, @@ -5559,11 +5735,19 @@ const struct BaseStats gBaseStats[] = [SPECIES_MAGCARGO] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 60, .baseAttack = 50, .baseDefense = 120, .baseSpeed = 30, .baseSpAttack = 90, + #else + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 120, + .baseSpeed = 30, + .baseSpAttack = 80, + #endif .baseSpDefense = 80, .type1 = TYPE_FIRE, .type2 = TYPE_ROCK, @@ -5635,12 +5819,21 @@ const struct BaseStats gBaseStats[] = [SPECIES_CORSOLA] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 65, .baseAttack = 55, .baseDefense = 95, .baseSpeed = 35, .baseSpAttack = 65, .baseSpDefense = 95, + #else + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 85, + #endif .type1 = TYPE_WATER, .type2 = TYPE_ROCK, .catchRate = 60, @@ -5738,7 +5931,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_MANTINE] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 85, + #else + .baseHP = 65, + #endif .baseAttack = 40, .baseDefense = 70, .baseSpeed = 70, @@ -6788,7 +6985,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 70, .baseDefense = 50, .baseSpeed = 65, + #if P_UPDATED_STATS >= GEN_6 .baseSpAttack = 100, + #else + .baseSpAttack = 90, + #endif .baseSpDefense = 50, .type1 = TYPE_BUG, .type2 = TYPE_FLYING, @@ -7045,7 +7246,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 85, .baseDefense = 60, .baseSpeed = 125, + #if P_UPDATED_STATS >= GEN_7 .baseSpAttack = 75, + #else + .baseSpAttack = 50, + #endif .baseSpDefense = 50, .type1 = TYPE_NORMAL, .type2 = TYPE_FLYING, @@ -7096,7 +7301,11 @@ const struct BaseStats gBaseStats[] = .baseAttack = 50, .baseDefense = 100, .baseSpeed = 65, + #if P_UPDATED_STATS >= GEN_7 .baseSpAttack = 95, + #else + .baseSpAttack = 85, + #endif .baseSpDefense = 70, .type1 = TYPE_WATER, .type2 = TYPE_FLYING, @@ -7124,8 +7333,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 40, .baseSpAttack = 45, .baseSpDefense = 35, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_PSYCHIC, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + #endif .catchRate = 235, .expYield = 40, .evYield_SpAttack = 1, @@ -7149,8 +7363,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 50, .baseSpAttack = 65, .baseSpDefense = 55, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_PSYCHIC, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + #endif .catchRate = 120, .expYield = 97, .evYield_SpAttack = 2, @@ -7174,8 +7393,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 80, .baseSpAttack = 125, .baseSpDefense = 115, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_PSYCHIC, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + #endif .catchRate = 45, .expYield = 233, .evYield_SpAttack = 3, @@ -7222,8 +7446,13 @@ const struct BaseStats gBaseStats[] = .baseHP = 70, .baseAttack = 60, .baseDefense = 62, + #if P_UPDATED_STATS >= GEN_7 .baseSpeed = 80, .baseSpAttack = 100, + #else + .baseSpeed = 60, + .baseSpAttack = 80, + #endif .baseSpDefense = 82, .type1 = TYPE_BUG, .type2 = TYPE_FLYING, @@ -7502,7 +7731,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 63, .baseSpeed = 68, .baseSpAttack = 91, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 73, + #else + .baseSpDefense = 63, + #endif .type1 = TYPE_NORMAL, .type2 = TYPE_NORMAL, .catchRate = 45, @@ -7580,8 +7813,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 20, .baseSpAttack = 20, .baseSpDefense = 40, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_NORMAL, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + #endif .catchRate = 150, .expYield = 38, .evYield_HP = 1, @@ -7653,7 +7891,11 @@ const struct BaseStats gBaseStats[] = .baseHP = 70, .baseAttack = 65, .baseDefense = 65, + #if P_UPDATED_STATS >= GEN_7 .baseSpeed = 90, + #else + .baseSpeed = 70, + #endif .baseSpAttack = 55, .baseSpDefense = 55, .type1 = TYPE_NORMAL, @@ -7709,8 +7951,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 50, .baseSpAttack = 55, .baseSpDefense = 55, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_STEEL, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + #endif .catchRate = 45, .expYield = 133, .evYield_Attack = 1, @@ -7962,10 +8209,17 @@ const struct BaseStats gBaseStats[] = { .baseHP = 65, .baseAttack = 73, + #if P_UPDATED_STATS >= GEN_7 .baseDefense = 75, .baseSpeed = 85, .baseSpAttack = 47, .baseSpDefense = 85, + #else + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 47, + .baseSpDefense = 75, + #endif .type1 = TYPE_BUG, .type2 = TYPE_BUG, .catchRate = 150, @@ -7988,10 +8242,17 @@ const struct BaseStats gBaseStats[] = { .baseHP = 65, .baseAttack = 47, + #if P_UPDATED_STATS >= GEN_7 .baseDefense = 75, .baseSpeed = 85, .baseSpAttack = 73, .baseSpDefense = 85, + #else + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 73, + .baseSpDefense = 75, + #endif .type1 = TYPE_BUG, .type2 = TYPE_BUG, .catchRate = 150, @@ -8578,7 +8839,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_LUNATONE] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 90, + #else + .baseHP = 70, + #endif .baseAttack = 55, .baseDefense = 65, .baseSpeed = 70, @@ -8604,7 +8869,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_SOLROCK] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 90, + #else + .baseHP = 70, + #endif .baseAttack = 95, .baseDefense = 85, .baseSpeed = 70, @@ -9113,12 +9382,21 @@ const struct BaseStats gBaseStats[] = [SPECIES_CHIMECHO] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 75, .baseAttack = 50, .baseDefense = 80, .baseSpeed = 65, .baseSpAttack = 95, .baseSpDefense = 90, + #else + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 80, + #endif .type1 = TYPE_PSYCHIC, .type2 = TYPE_PSYCHIC, .catchRate = 45, @@ -10138,7 +10416,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 70, .baseSpeed = 100, .baseSpAttack = 50, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 60, + #else + .baseSpDefense = 50, + #endif .type1 = TYPE_NORMAL, .type2 = TYPE_FLYING, .catchRate = 45, @@ -10363,7 +10645,11 @@ const struct BaseStats gBaseStats[] = { .baseHP = 60, .baseAttack = 70, + #if P_UPDATED_STATS >= GEN_6 .baseDefense = 65, + #else + .baseDefense = 55, + #endif .baseSpeed = 90, .baseSpAttack = 125, .baseSpDefense = 105, @@ -11278,8 +11564,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 60, .baseSpAttack = 70, .baseSpDefense = 90, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_PSYCHIC, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + #endif .catchRate = 145, .expYield = 62, .evYield_SpDefense = 1, @@ -12021,8 +12312,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 80, .baseSpAttack = 120, .baseSpDefense = 115, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_FAIRY, .type2 = TYPE_FLYING, + #else + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + #endif .catchRate = 30, .expYield = 245, .evYield_SpAttack = 2, @@ -13143,7 +13439,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_STOUTLAND] = { .baseHP = 85, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 110, + #else + .baseAttack = 100, + #endif .baseDefense = 90, .baseSpeed = 80, .baseSpAttack = 45, @@ -13468,7 +13768,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_UNFEZANT] = { .baseHP = 80, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 115, + #else + .baseAttack = 105, + #endif .baseDefense = 80, .baseSpeed = 93, .baseSpAttack = 65, @@ -13602,7 +13906,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 130, .baseSpeed = 25, .baseSpAttack = 60, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 80, + #else + .baseSpDefense = 70, + #endif .type1 = TYPE_ROCK, .type2 = TYPE_ROCK, .catchRate = 45, @@ -13624,7 +13932,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_WOOBAT] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 65, + #else + .baseHP = 55, + #endif .baseAttack = 45, .baseDefense = 43, .baseSpeed = 72, @@ -13877,7 +14189,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_SEISMITOAD] = { .baseHP = 105, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 95, + #else + .baseAttack = 85, + #endif .baseDefense = 75, .baseSpeed = 74, .baseSpAttack = 85, @@ -14010,7 +14326,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 80, .baseSpeed = 92, .baseSpAttack = 70, + #if P_UPDATED_STATS >= GEN_6 .baseSpDefense = 80, + #else + .baseSpDefense = 70, + #endif .type1 = TYPE_BUG, .type2 = TYPE_GRASS, .catchRate = 45, @@ -14084,7 +14404,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_SCOLIPEDE] = { .baseHP = 60, + #if P_UPDATED_STATS >= GEN_6 .baseAttack = 100, + #else + .baseAttack = 90, + #endif .baseDefense = 89, .baseSpeed = 112, .baseSpAttack = 55, @@ -14115,8 +14439,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 66, .baseSpAttack = 37, .baseSpDefense = 50, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_GRASS, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + #endif .catchRate = 190, .expYield = 56, .evYield_Speed = 1, @@ -14141,8 +14470,13 @@ const struct BaseStats gBaseStats[] = .baseSpeed = 116, .baseSpAttack = 77, .baseSpDefense = 75, + #if P_UPDATED_TYPES >= GEN_6 .type1 = TYPE_GRASS, .type2 = TYPE_FAIRY, + #else + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + #endif .catchRate = 75, .expYield = 168, .evYield_Speed = 2, @@ -14293,7 +14627,11 @@ const struct BaseStats gBaseStats[] = { .baseHP = 95, .baseAttack = 117, + #if P_UPDATED_STATS >= GEN_6 .baseDefense = 80, + #else + .baseDefense = 70, + #endif .baseSpeed = 92, .baseSpAttack = 65, .baseSpDefense = 70, @@ -14420,7 +14758,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_CRUSTLE] = { .baseHP = 70, + #if P_UPDATED_STATS >= GEN_7 .baseAttack = 105, + #else + .baseAttack = 95, + #endif .baseDefense = 125, .baseSpeed = 45, .baseSpAttack = 65, @@ -15828,7 +16170,11 @@ const struct BaseStats gBaseStats[] = [SPECIES_BEARTIC] = { .baseHP = 95, + #if P_UPDATED_STATS >= GEN_7 .baseAttack = 130, + #else + .baseAttack = 110, + #endif .baseDefense = 80, .baseSpeed = 50, .baseSpAttack = 70, @@ -15852,9 +16198,15 @@ const struct BaseStats gBaseStats[] = [SPECIES_CRYOGONAL] = { + #if P_UPDATED_STATS >= GEN_7 .baseHP = 80, .baseAttack = 50, .baseDefense = 50, + #else + .baseHP = 70, + .baseAttack = 50, + .baseDefense = 30, + #endif .baseSpeed = 105, .baseSpAttack = 95, .baseSpDefense = 135, @@ -17580,10 +17932,17 @@ const struct BaseStats gBaseStats[] = { .baseHP = 60, .baseAttack = 50, + #if P_UPDATED_STATS >= GEN_8 + .baseDefense = 140, + .baseSpeed = 60, + .baseSpAttack = 50, + .baseSpDefense = 140, + #else .baseDefense = 150, .baseSpeed = 60, .baseSpAttack = 50, .baseSpDefense = 150, + #endif .type1 = TYPE_STEEL, .type2 = TYPE_GHOST, .catchRate = 45, @@ -21376,7 +21735,11 @@ const struct BaseStats gBaseStats[] = .baseDefense = 65, .baseSpeed = 150, .baseSpAttack = 175, + #if P_UPDATED_STATS >= GEN_7 .baseSpDefense = 105, + #else + .baseSpDefense = 95, + #endif .type1 = TYPE_PSYCHIC, .type2 = TYPE_PSYCHIC, .catchRate = 50, @@ -22671,10 +23034,17 @@ const struct BaseStats gBaseStats[] = [SPECIES_AEGISLASH_BLADE] = { .baseHP = 60, + #if P_UPDATED_STATS >= GEN_8 + .baseAttack = 140, + .baseDefense = 50, + .baseSpeed = 60, + .baseSpAttack = 140, + #else .baseAttack = 150, .baseDefense = 50, .baseSpeed = 60, .baseSpAttack = 150, + #endif .baseSpDefense = 50, .type1 = TYPE_STEEL, .type2 = TYPE_GHOST,