From b1903af8c110d47bba0bea3e6684b3c60699f3c9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 17 Oct 2020 23:08:39 -0300 Subject: [PATCH] Adapting move changes (part 1) --- include/constants/battle_config.h | 2 + include/pokemon.h | 1 + src/data/battle_moves.h | 613 ++++++++++++++++++++++++------ 3 files changed, 509 insertions(+), 107 deletions(-) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index a02e3c3e3a..b5dfc54797 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -80,6 +80,8 @@ #define B_PSYWAVE_DMG GEN_6 // Psywave's damage formula. See Cmd_psywavedamageeffect. // Move settings +#define B_UPDATED_MOVE_VALUES GEN_7 // Power, Accuracy and Power of moves vary between generations. + #define B_FELL_STINGER_STAT_RAISE GEN_6 // In Gen7+, it raises Atk by 3 stages instead of 2 if it causes the target to faint. #define B_SOUND_SUBSTITUTE GEN_6 // In Gen6+, sound moves bypass Substitute. #define B_TOXIC_NEVER_MISS GEN_6 // In Gen6+, if Toxic is used by a Poison type, it will never miss. diff --git a/include/pokemon.h b/include/pokemon.h index d7dd3d9c5c..d681b9744d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -204,6 +204,7 @@ struct BaseStats u8 noFlip : 1; }; +#include "constants/battle_config.h" struct BattleMove { u16 effect; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index b9b745f592..00309b7d0f 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -269,7 +269,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FLY] = { .effect = EFFECT_SEMI_INVULNERABLE, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 90, + #else + .power = 70, + #endif .type = TYPE_FLYING, .accuracy = 95, .pp = 15, @@ -311,10 +315,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_VINE_WHIP] = { .effect = EFFECT_HIT, - .power = 45, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 45, + .pp = 25, + #elif B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 35, + .pp = 15, + #else + .power = 35, + .pp = 10, + #endif .type = TYPE_GRASS, .accuracy = 100, - .pp = 25, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -367,10 +379,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_JUMP_KICK] = { .effect = EFFECT_RECOIL_IF_MISS, - .power = 100, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 100, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_4 + .power = 85, + .pp = 25, + #else + .power = 70, + .pp = 25, + #endif .type = TYPE_FIGHTING, .accuracy = 95, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -465,9 +485,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_TACKLE] = { .effect = EFFECT_HIT, - .power = 40, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 40, + .accuracy = 100, + #elif B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 50, + .accuracy = 100, + #else + .power = 35, + .accuracy = 95, + #endif .type = TYPE_NORMAL, - .accuracy = 100, .pp = 35, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, @@ -521,10 +549,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_THRASH] = { .effect = EFFECT_RAMPAGE, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 120, + .pp = 10, + #else + .power = 90, + .pp = 20, + #endif .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, @@ -591,9 +624,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_PIN_MISSILE] = { .effect = EFFECT_MULTI_HIT, - .power = 25, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 25, + .accuracy = 95, + #else + .power = 14, + .accuracy = 85, + #endif .type = TYPE_BUG, - .accuracy = 95, .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, @@ -745,7 +783,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FLAMETHROWER] = { .effect = EFFECT_BURN_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 95, + #endif .type = TYPE_FIRE, .accuracy = 100, .pp = 15, @@ -787,7 +829,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HYDRO_PUMP] = { .effect = EFFECT_HIT, - .power = 110, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 110, + #else + .power = 120, + #endif .type = TYPE_WATER, .accuracy = 80, .pp = 5, @@ -801,7 +847,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SURF] = { .effect = EFFECT_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 95, + #endif .type = TYPE_WATER, .accuracy = 100, .pp = 15, @@ -815,7 +865,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ICE_BEAM] = { .effect = EFFECT_FREEZE_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 95, + #endif .type = TYPE_ICE, .accuracy = 100, .pp = 10, @@ -829,7 +883,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_BLIZZARD] = { .effect = EFFECT_FREEZE_HIT, - .power = 110, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 110, + #else + .power = 120, + #endif .type = TYPE_ICE, .accuracy = 70, .pp = 5, @@ -1000,7 +1058,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .power = 20, .type = TYPE_GRASS, .accuracy = 100, - .pp = 25, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .pp = 25, + #else + .pp = 20, + #endif .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -1014,7 +1076,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = .power = 40, .type = TYPE_GRASS, .accuracy = 100, - .pp = 15, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .pp = 15, + #else + .pp = 10, + #endif .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -1123,10 +1189,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_PETAL_DANCE] = { .effect = EFFECT_RAMPAGE, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 120, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_4 + .power = 90, + .pp = 20, + #else + .power = 70, + .pp = 20, + #endif .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, @@ -1165,9 +1239,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FIRE_SPIN] = { .effect = EFFECT_TRAP, - .power = 35, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 35, + .accuracy = 85, + #else + .power = 15, + .accuracy = 70, + #endif .type = TYPE_FIRE, - .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, @@ -1193,7 +1272,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_THUNDERBOLT] = { .effect = EFFECT_PARALYZE_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 95, + #endif .type = TYPE_ELECTRIC, .accuracy = 100, .pp = 15, @@ -1221,7 +1304,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_THUNDER] = { .effect = EFFECT_THUNDER, - .power = 110, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 110, + #else + .power = 120, + #endif .type = TYPE_ELECTRIC, .accuracy = 70, .pp = 10, @@ -1277,7 +1364,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DIG] = { .effect = EFFECT_SEMI_INVULNERABLE, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 80, + #else + .power = 60, + #endif .type = TYPE_GROUND, .accuracy = 100, .pp = 10, @@ -1711,7 +1802,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LICK] = { .effect = EFFECT_PARALYZE_HIT, - .power = 30, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 30, + #else + .power = 20, + #endif .type = TYPE_GHOST, .accuracy = 100, .pp = 30, @@ -1725,7 +1820,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SMOG] = { .effect = EFFECT_POISON_HIT, - .power = 30, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 30, + #else + .power = 20, + #endif .type = TYPE_POISON, .accuracy = 70, .pp = 20, @@ -1767,7 +1866,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FIRE_BLAST] = { .effect = EFFECT_BURN_HIT, - .power = 110, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 120, + #else + .power = 110, + #endif .type = TYPE_FIRE, .accuracy = 85, .pp = 5, @@ -1823,10 +1926,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SKULL_BASH] = { .effect = EFFECT_SKULL_BASH, - .power = 130, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 130, + .pp = 10, + #else + .power = 100, + .pp = 15, + #endif .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -1907,10 +2015,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HI_JUMP_KICK] = { .effect = EFFECT_RECOIL_IF_MISS, - .power = 130, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 130, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_4 + .power = 100, + .pp = 20, + #else + .power = 85, + .pp = 20, + #endif .type = TYPE_FIGHTING, .accuracy = 90, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -1977,10 +2093,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LEECH_LIFE] = { .effect = EFFECT_ABSORB, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 80, + .pp = 10, + #else + .power = 20, + .pp = 15, + #endif .type = TYPE_BUG, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -2034,7 +2155,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_BUBBLE] = { .effect = EFFECT_SPEED_DOWN_HIT, - .power = 40, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 40, + #else + .power = 20, + #endif .type = TYPE_WATER, .accuracy = 100, .pp = 30, @@ -2132,9 +2257,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_CRABHAMMER] = { .effect = EFFECT_HIT, - .power = 100, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 100, + .accuracy = 90, + #elif B_UPDATED_MOVE_VALUES == GEN_5 + .power = 90, + .accuracy = 90, + #else + .power = 90, + .accuracy = 85, + #endif .type = TYPE_WATER, - .accuracy = 90, .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, @@ -2426,7 +2559,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SNORE] = { .effect = EFFECT_SNORE, - .power = 50, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 50, + #else + .power = 40, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 15, @@ -2692,7 +2829,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ZAP_CANNON] = { .effect = EFFECT_PARALYZE_HIT, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 120, + #else + .power = 100, + #endif .type = TYPE_ELECTRIC, .accuracy = 50, .pp = 5, @@ -2804,10 +2945,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_OUTRAGE] = { .effect = EFFECT_RAMPAGE, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 120, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_4 + .power = 120, + .pp = 15, + #else + .power = 90, + .pp = 15, + #endif .type = TYPE_DRAGON, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, @@ -2832,10 +2981,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_GIGA_DRAIN] = { .effect = EFFECT_ABSORB, - .power = 75, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 75, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_4 + .power = 60, + .pp = 10, + #else + .power = 60, + .pp = 5, + #endif .type = TYPE_GRASS, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -2944,7 +3101,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FURY_CUTTER] = { .effect = EFFECT_FURY_CUTTER, - .power = 40, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 40, + #elif B_UPDATED_MOVE_VALUES == GEN_5 + .power = 20, + #else + .power = 10, + #endif .type = TYPE_BUG, .accuracy = 95, .pp = 20, @@ -3210,7 +3373,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_RAPID_SPIN] = { .effect = EFFECT_RAPID_SPIN, - .power = 50, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 50, + #else + .power = 20, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 40, @@ -3476,10 +3643,20 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FUTURE_SIGHT] = { .effect = EFFECT_FUTURE_SIGHT, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 120, + .accuracy = 100, + .pp = 10, + #elif B_UPDATED_MOVE_VALUES == GEN_5 + .power = 100, + .accuracy = 100, + .pp = 10, + #else + .power = 80, + .accuracy = 90, + .pp = 15, + #endif .type = TYPE_PSYCHIC, - .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -3490,7 +3667,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ROCK_SMASH] = { .effect = EFFECT_DEFENSE_DOWN_HIT, - .power = 40, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 40, + #else + .power = 20, + #endif .type = TYPE_FIGHTING, .accuracy = 100, .pp = 15, @@ -3504,9 +3685,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_WHIRLPOOL] = { .effect = EFFECT_TRAP, - .power = 35, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 35, + .accuracy = 85, + #else + .power = 15, + .accuracy = 70, + #endif .type = TYPE_WATER, - .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, @@ -3518,7 +3704,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_BEAT_UP] = { .effect = EFFECT_BEAT_UP, - .power = 10, + #if B_BEAT_UP_DMG >= GEN_5 + .power = 1, + #else + .power = 10, + #endif .type = TYPE_DARK, .accuracy = 100, .pp = 10, @@ -3546,7 +3736,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_UPROAR] = { .effect = EFFECT_UPROAR, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 90, + #else + .power = 50, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -3574,7 +3768,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SPIT_UP] = { .effect = EFFECT_SPIT_UP, - .power = 100, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 1, + #else + .power = 100, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -3602,7 +3800,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HEAT_WAVE] = { .effect = EFFECT_BURN_HIT, - .power = 95, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 95, + #else + .power = 100, + #endif .type = TYPE_FIRE, .accuracy = 90, .pp = 10, @@ -3714,7 +3916,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SMELLING_SALT] = { .effect = EFFECT_SMELLINGSALT, - .power = 70, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 70, + #else + .power = 60, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -3953,7 +4159,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_KNOCK_OFF] = { .effect = EFFECT_KNOCK_OFF, - .power = 65, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 65, + #else + .power = 20, + #endif .type = TYPE_DARK, .accuracy = 100, .pp = 20, @@ -4079,7 +4289,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DIVE] = { .effect = EFFECT_SEMI_INVULNERABLE, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 80, + #else + .power = 60, + #endif .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -4331,7 +4545,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_METEOR_MASH] = { .effect = EFFECT_ATTACK_UP_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + .accuracy = 90, + #else + .power = 100, + .accuracy = 85, + #endif .type = TYPE_STEEL, .accuracy = 90, .pp = 10, @@ -4401,7 +4621,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_AIR_CUTTER] = { .effect = EFFECT_HIT, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + #else + .power = 55, + #endif .type = TYPE_FLYING, .accuracy = 95, .pp = 25, @@ -4415,7 +4639,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_OVERHEAT] = { .effect = EFFECT_OVERHEAT, - .power = 130, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 130, + #else + .power = 140, + #endif .type = TYPE_FIRE, .accuracy = 90, .pp = 5, @@ -4443,10 +4671,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ROCK_TOMB] = { .effect = EFFECT_SPEED_DOWN_HIT, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + .accuracy = 95, + .pp = 15, + #else + .power = 50, + .accuracy = 80, + .pp = 10, + #endif .type = TYPE_ROCK, - .accuracy = 95, - .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -4597,9 +4831,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SAND_TOMB] = { .effect = EFFECT_TRAP, - .power = 35, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 35, + .accuracy = 85, + #else + .power = 15, + .accuracy = 70, + #endif .type = TYPE_GROUND, - .accuracy = 85, .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, @@ -4625,7 +4864,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_MUDDY_WATER] = { .effect = EFFECT_ACCURACY_DOWN_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 95, + #endif .type = TYPE_WATER, .accuracy = 85, .pp = 10, @@ -4639,7 +4882,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_BULLET_SEED] = { .effect = EFFECT_MULTI_HIT, - .power = 25, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 25, + #else + .power = 10, + #endif .type = TYPE_GRASS, .accuracy = 100, .pp = 30, @@ -4667,7 +4914,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ICICLE_SPEAR] = { .effect = EFFECT_MULTI_HIT, - .power = 25, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 25, + #else + .power = 10, + #endif .type = TYPE_ICE, .accuracy = 100, .pp = 30, @@ -4808,10 +5059,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_COVET] = { .effect = EFFECT_THIEF, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + .pp = 25, + #elif B_UPDATED_MOVE_VALUES == GEN_5 + .power = 60, + .pp = 40, + #else + .power = 40, + .pp = 40, + #endif .type = TYPE_NORMAL, .accuracy = 100, - .pp = 25, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -4879,7 +5138,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LEAF_BLADE] = { .effect = EFFECT_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 90, + #else + .power = 70, + #endif .type = TYPE_GRASS, .accuracy = 100, .pp = 15, @@ -4949,10 +5212,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DOOM_DESIRE] = { .effect = EFFECT_FUTURE_SIGHT, - .power = 140, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 140, + .pp = 100, + #else + .power = 120, + .pp = 85, + #endif .type = TYPE_STEEL, .accuracy = 100, - .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -5019,7 +5287,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_WAKE_UP_SLAP] = { .effect = EFFECT_WAKE_UP_SLAP, - .power = 70, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 70, + #else + .power = 60, + #endif .type = TYPE_FIGHTING, .accuracy = 100, .pp = 10, @@ -5104,7 +5376,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FEINT] = { .effect = EFFECT_FEINT, - .power = 30, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 30, + #else + .power = 50, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 10, @@ -5216,7 +5492,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ASSURANCE] = { .effect = EFFECT_ASSURANCE, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + #else + .power = 50, + #endif .type = TYPE_DARK, .accuracy = 100, .pp = 10, @@ -5426,7 +5706,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LAST_RESORT] = { .effect = EFFECT_LAST_RESORT, - .power = 140, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 140, + #else + .power = 130, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, @@ -5454,7 +5738,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SUCKER_PUNCH] = { .effect = EFFECT_SUCKER_PUNCH, - .power = 70, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 70, + #else + .power = 80, + #endif .type = TYPE_DARK, .accuracy = 100, .pp = 5, @@ -5553,7 +5841,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_AURA_SPHERE] = { .effect = EFFECT_HIT, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 80, + #else + .power = 90, + #endif .type = TYPE_FIGHTING, .accuracy = 0, .pp = 20, @@ -5693,7 +5985,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DRAGON_PULSE] = { .effect = EFFECT_HIT, - .power = 85, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 85, + #else + .power = 90, + #endif .type = TYPE_DRAGON, .accuracy = 100, .pp = 10, @@ -5721,7 +6017,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_POWER_GEM] = { .effect = EFFECT_HIT, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 80, + #else + .power = 70, + #endif .type = TYPE_ROCK, .accuracy = 100, .pp = 20, @@ -5735,10 +6035,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DRAIN_PUNCH] = { .effect = EFFECT_ABSORB, - .power = 75, + #if B_UPDATED_MOVE_VALUES >= GEN_5 + .power = 75, + .pp = 10, + #else + .power = 60, + .pp = 5, + #endif .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -5777,7 +6082,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_ENERGY_BALL] = { .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, - .power = 90, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 90, + #else + .power = 80, + #endif .type = TYPE_GRASS, .accuracy = 100, .pp = 10, @@ -6088,7 +6397,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_DRACO_METEOR] = { .effect = EFFECT_OVERHEAT, - .power = 130, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 130, + #else + .power = 140, + #endif .type = TYPE_DRAGON, .accuracy = 90, .pp = 5, @@ -6130,7 +6443,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LEAF_STORM] = { .effect = EFFECT_OVERHEAT, - .power = 130, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 130, + #else + .power = 140, + #endif .type = TYPE_GRASS, .accuracy = 90, .pp = 5, @@ -6284,7 +6601,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_CHATTER] = { .effect = EFFECT_CONFUSE_HIT, - .power = 65, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 65, + #else + .power = 60, + #endif .type = TYPE_FLYING, .accuracy = 100, .pp = 20, @@ -6494,9 +6815,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_MAGMA_STORM] = { .effect = EFFECT_TRAP, - .power = 100, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 100, + .accuracy = 75, + #elif B_UPDATED_MOVE_VALUES == GEN_5 + .power = 120, + .accuracy = 75, + #else + .power = 120, + .accuracy = 70, + #endif .type = TYPE_FIRE, - .accuracy = 75, .pp = 5, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, @@ -6733,7 +7062,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_STORM_THROW] = { .effect = EFFECT_ALWAYS_CRIT, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + #else + .power = 40, + #endif .type = TYPE_FIGHTING, .accuracy = 100, .pp = 10, @@ -6803,10 +7136,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_SYNCHRONOISE] = { .effect = EFFECT_SYNCHRONOISE, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 120, + .pp = 10, + #else + .power = 70, + .pp = 15, + #endif .type = TYPE_PSYCHIC, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, @@ -6873,7 +7211,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_LOW_SWEEP] = { .effect = EFFECT_SPEED_DOWN_HIT, - .power = 65, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 65, + #else + .power = 60, + #endif .type = TYPE_FIGHTING, .accuracy = 100, .pp = 20, @@ -7098,7 +7440,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HEX] = { .effect = EFFECT_HEX, - .power = 65, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 65, + #else + .power = 50, + #endif .type = TYPE_GHOST, .accuracy = 100, .pp = 10, @@ -7154,6 +7500,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_INCINERATE] = { .effect = EFFECT_INCINERATE, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + #else + .power = 30, + #endif .power = 60, .type = TYPE_FIRE, .accuracy = 100, @@ -7266,7 +7617,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_WATER_PLEDGE] = { .effect = EFFECT_PLEDGE, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 80, + #else + .power = 50, + #endif .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -7280,7 +7635,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FIRE_PLEDGE] = { .effect = EFFECT_PLEDGE, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 80, + #else + .power = 50, + #endif .type = TYPE_FIRE, .accuracy = 100, .pp = 10, @@ -7294,7 +7653,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_GRASS_PLEDGE] = { .effect = EFFECT_PLEDGE, - .power = 80, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 80, + #else + .power = 50, + #endif .type = TYPE_GRASS, .accuracy = 100, .pp = 10, @@ -7322,7 +7685,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_STRUGGLE_BUG] = { .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, - .power = 50, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 50, + #else + .power = 30, + #endif .type = TYPE_BUG, .accuracy = 100, .pp = 20, @@ -7350,7 +7717,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FROST_BREATH] = { .effect = EFFECT_ALWAYS_CRIT, - .power = 60, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 60, + #else + .power = 40, + #endif .type = TYPE_ICE, .accuracy = 90, .pp = 10, @@ -7602,7 +7973,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_HURRICANE] = { .effect = EFFECT_HURRICANE, - .power = 110, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 110, + #else + .power = 120, + #endif .type = TYPE_FLYING, .accuracy = 70, .pp = 10, @@ -7658,7 +8033,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_TECHNO_BLAST] = { .effect = EFFECT_TECHNO_BLAST, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_6 + .power = 120, + #else + .power = 85, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 5, @@ -7856,7 +8235,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FLYING_PRESS] = { .effect = EFFECT_TWO_TYPED_MOVE, - .power = 100, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 100, + #else + .power = 80, + #endif .type = TYPE_FIGHTING, .accuracy = 95, .pp = 10, @@ -7928,7 +8311,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_FELL_STINGER] = { .effect = EFFECT_FELL_STINGER, - .power = 50, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 50, + #else + .power = 30, + #endif .type = TYPE_BUG, .accuracy = 100, .pp = 25, @@ -8000,7 +8387,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_PARABOLIC_CHARGE] = { .effect = EFFECT_ABSORB, - .power = 65, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 65, + #else + .power = 50, + #endif .type = TYPE_ELECTRIC, .accuracy = 100, .pp = 20, @@ -8353,7 +8744,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_MYSTICAL_FIRE] = { .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, - .power = 75, + #if B_UPDATED_MOVE_VALUES >= GEN_7 + .power = 75, + #else + .power = 65, + #endif .type = TYPE_FIRE, .accuracy = 100, .pp = 10, @@ -9433,7 +9828,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_MULTI_ATTACK] = { .effect = EFFECT_PLACEHOLDER, - .power = 120, + #if B_UPDATED_MOVE_VALUES >= GEN_4 + .power = 120, + #else + .power = 90, + #endif .type = TYPE_NORMAL, .accuracy = 100, .pp = 10,