diff --git a/graphics/pokemon/magnemite/anim_front.png b/graphics/pokemon/magnemite/anim_front.png index e4355ee276..7d3dc54ec6 100644 Binary files a/graphics/pokemon/magnemite/anim_front.png and b/graphics/pokemon/magnemite/anim_front.png differ diff --git a/graphics/pokemon/magnemite/back.png b/graphics/pokemon/magnemite/back.png index 2b96c2946d..ec42140103 100644 Binary files a/graphics/pokemon/magnemite/back.png and b/graphics/pokemon/magnemite/back.png differ diff --git a/graphics/pokemon/magnemite/front.png b/graphics/pokemon/magnemite/front.png index 198a2d1b90..f39c25b7ab 100644 Binary files a/graphics/pokemon/magnemite/front.png and b/graphics/pokemon/magnemite/front.png differ diff --git a/graphics/pokemon/magneton/back.png b/graphics/pokemon/magneton/back.png index a4638a1c11..7a45ee78dd 100644 Binary files a/graphics/pokemon/magneton/back.png and b/graphics/pokemon/magneton/back.png differ diff --git a/graphics/pokemon/tsareena/back.png b/graphics/pokemon/tsareena/back.png index 01177ce419..ea66ff8a29 100644 Binary files a/graphics/pokemon/tsareena/back.png and b/graphics/pokemon/tsareena/back.png differ diff --git a/graphics/pokemon/tsareena/front.png b/graphics/pokemon/tsareena/front.png index 664c9c2794..9072ce8651 100644 Binary files a/graphics/pokemon/tsareena/front.png and b/graphics/pokemon/tsareena/front.png differ diff --git a/graphics/pokemon/tsareena/shiny.pal b/graphics/pokemon/tsareena/shiny.pal index 4c8171637b..83672b5114 100644 --- a/graphics/pokemon/tsareena/shiny.pal +++ b/graphics/pokemon/tsareena/shiny.pal @@ -5,7 +5,7 @@ JASC-PAL 136 8 64 112 56 144 232 96 128 -176 104 200 +152 0 208 200 0 112 96 16 48 216 160 232 diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h new file mode 100644 index 0000000000..f0fcc5fc07 --- /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 4f8670b46f..c6e36e41c1 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 c5cddd53f7..f4a2de90f9 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, @@ -11177,8 +11463,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, @@ -11920,8 +12211,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, @@ -12917,7 +13213,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, @@ -13242,7 +13542,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, @@ -13376,7 +13680,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, @@ -13398,7 +13706,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, @@ -13651,7 +13963,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, @@ -13784,7 +14100,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, @@ -13858,7 +14178,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, @@ -13889,8 +14213,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, @@ -13915,8 +14244,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, @@ -14067,7 +14401,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, @@ -14194,7 +14532,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, @@ -15602,7 +15944,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, @@ -15626,9 +15972,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, @@ -17281,10 +17633,15 @@ const struct BaseStats gBaseStats[] = { .baseHP = 60, .baseAttack = 50, - .baseDefense = 150, .baseSpeed = 60, .baseSpAttack = 50, + #if P_UPDATED_STATS >= GEN_8 + .baseDefense = 140, + .baseSpDefense = 140, + #else + .baseDefense = 150, .baseSpDefense = 150, + #endif .type1 = TYPE_STEEL, .type2 = TYPE_GHOST, .catchRate = 45, @@ -20666,7 +21023,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, @@ -25751,10 +26112,15 @@ const struct BaseStats gBaseStats[] = [SPECIES_AEGISLASH_BLADE] = { .baseHP = 60, - .baseAttack = 150, .baseDefense = 50, .baseSpeed = 60, + #if P_UPDATED_STATS >= GEN_8 + .baseAttack = 140, + .baseSpAttack = 140, + #else + .baseAttack = 150, .baseSpAttack = 150, + #endif .baseSpDefense = 50, .type1 = TYPE_STEEL, .type2 = TYPE_GHOST, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 8f6b1ab8b6..fbcd977a85 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -8418,19 +8418,57 @@ static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), +}; + +static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), ANIMCMD_END, }; @@ -13147,16 +13185,19 @@ static const union AnimCmd *const sAnims_ZYGARDE_COMPLETE[] ={ static const union AnimCmd *const sAnims_DEOXYS_ATTACK[] ={ sAnim_GeneralFrame0, sAnim_DEOXYS_ATTACK_1, + sAnim_DEOXYS_ATTACK_2, }; static const union AnimCmd *const sAnims_DEOXYS_DEFENSE[] ={ sAnim_GeneralFrame0, sAnim_DEOXYS_DEFENSE_1, + sAnim_DEOXYS_DEFENSE_2, }; static const union AnimCmd *const sAnims_DEOXYS_SPEED[] ={ sAnim_GeneralFrame0, sAnim_DEOXYS_SPEED_1, + sAnim_DEOXYS_SPEED_2, }; #define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name