diff options
author | yenatch <yenatch@gmail.com> | 2018-04-18 22:02:34 -0400 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2018-04-18 22:02:34 -0400 |
commit | e0e2f0218d5d558a375ae972ab8b5eb225784051 (patch) | |
tree | cd5f641fcc8024de9a010e5c13c38f133b7c6245 /src | |
parent | e266629c4af115bdd0b664a6fee160ecc4ff8416 (diff) |
move gBattleMoves to c
Diffstat (limited to 'src')
-rw-r--r-- | src/data/battle_moves.c | 4270 |
1 files changed, 4270 insertions, 0 deletions
diff --git a/src/data/battle_moves.c b/src/data/battle_moves.c new file mode 100644 index 000000000..439a52dc7 --- /dev/null +++ b/src/data/battle_moves.c @@ -0,0 +1,4270 @@ +#include "global.h" +#include "battle.h" +#include "pokemon.h" +#include "constants/battle_constants.h" +#include "constants/battle_move_effects.h" +#include "constants/moves.h" + +const struct BattleMove gBattleMoves[] = { + + [MOVE_NONE] = { + .effect = EFFECT_HIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 0, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_POUND] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_KARATE_CHOP] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 50, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_SLAP] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COMET_PUNCH] = { + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGA_PUNCH] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_PAY_DAY] = { + .effect = EFFECT_PAY_DAY, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_PUNCH] = { + .effect = EFFECT_BURN_HIT, + .power = 75, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ICE_PUNCH] = { + .effect = EFFECT_FREEZE_HIT, + .power = 75, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THUNDER_PUNCH] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 75, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SCRATCH] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VICE_GRIP] = { + .effect = EFFECT_HIT, + .power = 55, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GUILLOTINE] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAZOR_WIND] = { + .effect = EFFECT_RAZOR_WIND, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWORDS_DANCE] = { + .effect = EFFECT_ATTACK_UP_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CUT] = { + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GUST] = { + .effect = EFFECT_GUST, + .power = 40, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WING_ATTACK] = { + .effect = EFFECT_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WHIRLWIND] = { + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -6, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLY] = { + .effect = EFFECT_FLY, + .power = 70, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BIND] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLAM] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VINE_WHIP] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STOMP] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_KICK] = { + .effect = EFFECT_DOUBLE_HIT, + .power = 30, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGA_KICK] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_JUMP_KICK] = { + .effect = EFFECT_RECOIL_IF_MISS, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ROLLING_KICK] = { + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAND_ATTACK] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HEADBUTT] = { + .effect = EFFECT_FLINCH_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_HORN_ATTACK] = { + .effect = EFFECT_HIT, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FURY_ATTACK] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_HORN_DRILL] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TACKLE] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BODY_SLAM] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 85, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WRAP] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TAKE_DOWN] = { + .effect = EFFECT_RECOIL, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THRASH] = { + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_EDGE] = { + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TAIL_WHIP] = { + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_STING] = { + .effect = EFFECT_POISON_HIT, + .power = 15, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TWINEEDLE] = { + .effect = EFFECT_TWINEEDLE, + .power = 25, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PIN_MISSILE] = { + .effect = EFFECT_MULTI_HIT, + .power = 14, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEER] = { + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BITE] = { + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GROWL] = { + .effect = EFFECT_ATTACK_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROAR] = { + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -6, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SING] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SUPERSONIC] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SONIC_BOOM] = { + .effect = EFFECT_SONICBOOM, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DISABLE] = { + .effect = EFFECT_DISABLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ACID] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 40, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EMBER] = { + .effect = EFFECT_BURN_HIT, + .power = 40, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLAMETHROWER] = { + .effect = EFFECT_BURN_HIT, + .power = 95, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIST] = { + .effect = EFFECT_MIST, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_WATER_GUN] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYDRO_PUMP] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_WATER, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SURF] = { + .effect = EFFECT_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ICE_BEAM] = { + .effect = EFFECT_FREEZE_HIT, + .power = 95, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BLIZZARD] = { + .effect = EFFECT_FREEZE_HIT, + .power = 120, + .type = TYPE_ICE, + .accuracy = 70, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYBEAM] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 65, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BUBBLE_BEAM] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AURORA_BEAM] = { + .effect = EFFECT_ATTACK_DOWN_HIT, + .power = 65, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPER_BEAM] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PECK] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRILL_PECK] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SUBMISSION] = { + .effect = EFFECT_RECOIL, + .power = 80, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_LOW_KICK] = { + .effect = EFFECT_LOW_KICK, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COUNTER] = { + .effect = EFFECT_COUNTER, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = -5, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_MAKES_CONTACT, + }, + + [MOVE_SEISMIC_TOSS] = { + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STRENGTH] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ABSORB] = { + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEGA_DRAIN] = { + .effect = EFFECT_ABSORB, + .power = 40, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEECH_SEED] = { + .effect = EFFECT_LEECH_SEED, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_GROWTH] = { + .effect = EFFECT_SPECIAL_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RAZOR_LEAF] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_GRASS, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SOLAR_BEAM] = { + .effect = EFFECT_SOLARBEAM, + .power = 120, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_POWDER] = { + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 75, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_STUN_SPORE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLEEP_POWDER] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PETAL_DANCE] = { + .effect = EFFECT_RAMPAGE, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STRING_SHOT] = { + .effect = EFFECT_SPEED_DOWN, + .power = 0, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DRAGON_RAGE] = { + .effect = EFFECT_DRAGON_RAGE, + .power = 1, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_SPIN] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_FIRE, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER_SHOCK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 40, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDERBOLT] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 95, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER_WAVE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER] = { + .effect = EFFECT_THUNDER, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 70, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROCK_THROW] = { + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EARTHQUAKE] = { + .effect = EFFECT_EARTHQUAKE, + .power = 100, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FISSURE] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIG] = { + .effect = EFFECT_FLY, + .power = 60, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TOXIC] = { + .effect = EFFECT_TOXIC, + .power = 0, + .type = TYPE_POISON, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONFUSION] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 50, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYCHIC] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 90, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPNOSIS] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 60, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEDITATE] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_AGILITY] = { + .effect = EFFECT_SPEED_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_QUICK_ATTACK] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAGE] = { + .effect = EFFECT_RAGE, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TELEPORT] = { + .effect = EFFECT_TELEPORT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_NIGHT_SHADE] = { + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIMIC] = { + .effect = EFFECT_MIMIC, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SCREECH] = { + .effect = EFFECT_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DOUBLE_TEAM] = { + .effect = EFFECT_EVASION_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RECOVER] = { + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HARDEN] = { + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_MINIMIZE] = { + .effect = EFFECT_MINIMIZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SMOKESCREEN] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONFUSE_RAY] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WITHDRAW] = { + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_DEFENSE_CURL] = { + .effect = EFFECT_DEFENSE_CURL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BARRIER] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LIGHT_SCREEN] = { + .effect = EFFECT_LIGHT_SCREEN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HAZE] = { + .effect = EFFECT_HAZE, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REFLECT] = { + .effect = EFFECT_REFLECT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_FOCUS_ENERGY] = { + .effect = EFFECT_FOCUS_ENERGY, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BIDE] = { + .effect = EFFECT_BIDE, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_METRONOME] = { + .effect = EFFECT_METRONOME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_MIRROR_MOVE] = { + .effect = EFFECT_MIRROR_MOVE, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_SELF_DESTRUCT] = { + .effect = EFFECT_EXPLOSION, + .power = 200, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EGG_BOMB] = { + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LICK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 20, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SMOG] = { + .effect = EFFECT_POISON_HIT, + .power = 20, + .type = TYPE_POISON, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 40, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLUDGE] = { + .effect = EFFECT_POISON_HIT, + .power = 65, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BONE_CLUB] = { + .effect = EFFECT_FLINCH_HIT, + .power = 65, + .type = TYPE_GROUND, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_BLAST] = { + .effect = EFFECT_BURN_HIT, + .power = 120, + .type = TYPE_FIRE, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATERFALL] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CLAMP] = { + .effect = EFFECT_TRAP, + .power = 35, + .type = TYPE_WATER, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWIFT] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKULL_BASH] = { + .effect = EFFECT_SKULL_BASH, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPIKE_CANNON] = { + .effect = EFFECT_MULTI_HIT, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONSTRICT] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 10, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_AMNESIA] = { + .effect = EFFECT_SPECIAL_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_KINESIS] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SOFT_BOILED] = { + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HI_JUMP_KICK] = { + .effect = EFFECT_RECOIL_IF_MISS, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GLARE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DREAM_EATER] = { + .effect = EFFECT_DREAM_EATER, + .power = 100, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_GAS] = { + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 55, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BARRAGE] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEECH_LIFE] = { + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_LOVELY_KISS] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKY_ATTACK] = { + .effect = EFFECT_SKY_ATTACK, + .power = 140, + .type = TYPE_FLYING, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TRANSFORM] = { + .effect = EFFECT_TRANSFORM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_BUBBLE] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 20, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIZZY_PUNCH] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPORE] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLASH] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYWAVE] = { + .effect = EFFECT_PSYWAVE, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPLASH] = { + .effect = EFFECT_SPLASH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ACID_ARMOR] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_POISON, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CRABHAMMER] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 90, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_EXPLOSION] = { + .effect = EFFECT_EXPLOSION, + .power = 250, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FURY_SWIPES] = { + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BONEMERANG] = { + .effect = EFFECT_DOUBLE_HIT, + .power = 50, + .type = TYPE_GROUND, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REST] = { + .effect = EFFECT_REST, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_ROCK_SLIDE] = { + .effect = EFFECT_FLINCH_HIT, + .power = 75, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPER_FANG] = { + .effect = EFFECT_FLINCH_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SHARPEN] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CONVERSION] = { + .effect = EFFECT_CONVERSION, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_TRI_ATTACK] = { + .effect = EFFECT_TRI_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SUPER_FANG] = { + .effect = EFFECT_SUPER_FANG, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLASH] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SUBSTITUTE] = { + .effect = EFFECT_SUBSTITUTE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_STRUGGLE] = { + .effect = EFFECT_RECOIL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 1, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SKETCH] = { + .effect = EFFECT_SKETCH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 1, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_TRIPLE_KICK] = { + .effect = EFFECT_TRIPLE_KICK, + .power = 10, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THIEF] = { + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPIDER_WEB] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIND_READER] = { + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_NIGHTMARE] = { + .effect = EFFECT_NIGHTMARE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLAME_WHEEL] = { + .effect = EFFECT_THAW_HIT, + .power = 60, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SNORE] = { + .effect = EFFECT_SNORE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CURSE] = { + .effect = EFFECT_CURSE, + .power = 0, + .type = TYPE_MYSTERY, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_FLAIL] = { + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CONVERSION_2] = { + .effect = EFFECT_CONVERSION_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_AEROBLAST] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_COTTON_SPORE] = { + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REVERSAL] = { + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPITE] = { + .effect = EFFECT_SPITE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POWDER_SNOW] = { + .effect = EFFECT_FREEZE_HIT, + .power = 40, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PROTECT] = { + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_MACH_PUNCH] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SCARY_FACE] = { + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FAINT_ATTACK] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWEET_KISS] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BELLY_DRUM] = { + .effect = EFFECT_BELLY_DRUM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SLUDGE_BOMB] = { + .effect = EFFECT_POISON_HIT, + .power = 90, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MUD_SLAP] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 20, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OCTAZOOKA] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPIKES] = { + .effect = EFFECT_SPIKES, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_ENEMY_SIDE, + .priority = 0, + .flags = 0, + }, + + [MOVE_ZAP_CANNON] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 100, + .type = TYPE_ELECTRIC, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FORESIGHT] = { + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DESTINY_BOND] = { + .effect = EFFECT_DESTINY_BOND, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_PERISH_SONG] = { + .effect = EFFECT_PERISH_SONG, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ICY_WIND] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_ICE, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DETECT] = { + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_BONE_RUSH] = { + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_GROUND, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LOCK_ON] = { + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OUTRAGE] = { + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SANDSTORM] = { + .effect = EFFECT_SANDSTORM, + .power = 0, + .type = TYPE_ROCK, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_GIGA_DRAIN] = { + .effect = EFFECT_ABSORB, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ENDURE] = { + .effect = EFFECT_ENDURE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_CHARM] = { + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROLLOUT] = { + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FALSE_SWIPE] = { + .effect = EFFECT_FALSE_SWIPE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWAGGER] = { + .effect = EFFECT_SWAGGER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MILK_DRINK] = { + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPARK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 65, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FURY_CUTTER] = { + .effect = EFFECT_FURY_CUTTER, + .power = 10, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STEEL_WING] = { + .effect = EFFECT_DEFENSE_UP_HIT, + .power = 70, + .type = TYPE_STEEL, + .accuracy = 90, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEAN_LOOK] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ATTRACT] = { + .effect = EFFECT_ATTRACT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLEEP_TALK] = { + .effect = EFFECT_SLEEP_TALK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_HEAL_BELL] = { + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RETURN] = { + .effect = EFFECT_RETURN, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_PRESENT] = { + .effect = EFFECT_PRESENT, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FRUSTRATION] = { + .effect = EFFECT_FRUSTRATION, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAFEGUARD] = { + .effect = EFFECT_SAFEGUARD, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_PAIN_SPLIT] = { + .effect = EFFECT_PAIN_SPLIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SACRED_FIRE] = { + .effect = EFFECT_THAW_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MAGNITUDE] = { + .effect = EFFECT_MAGNITUDE, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DYNAMIC_PUNCH] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGAHORN] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRAGON_BREATH] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 60, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BATON_PASS] = { + .effect = EFFECT_BATON_PASS, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ENCORE] = { + .effect = EFFECT_ENCORE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PURSUIT] = { + .effect = EFFECT_PURSUIT, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAPID_SPIN] = { + .effect = EFFECT_RAPID_SPIN, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWEET_SCENT] = { + .effect = EFFECT_EVASION_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IRON_TAIL] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_METAL_CLAW] = { + .effect = EFFECT_ATTACK_UP_HIT, + .power = 50, + .type = TYPE_STEEL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VITAL_THROW] = { + .effect = EFFECT_VITAL_THROW, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MORNING_SUN] = { + .effect = EFFECT_MORNING_SUN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SYNTHESIS] = { + .effect = EFFECT_SYNTHESIS, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_MOONLIGHT] = { + .effect = EFFECT_MOONLIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HIDDEN_POWER] = { + .effect = EFFECT_HIDDEN_POWER, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CROSS_CHOP] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TWISTER] = { + .effect = EFFECT_TWISTER, + .power = 40, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_RAIN_DANCE] = { + .effect = EFFECT_RAIN_DANCE, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_SUNNY_DAY] = { + .effect = EFFECT_SUNNY_DAY, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_CRUNCH] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MIRROR_COAT] = { + .effect = EFFECT_MIRROR_COAT, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = -5, + .flags = F_MIRROR_MOVE_COMPATIBLE, + }, + + [MOVE_PSYCH_UP] = { + .effect = EFFECT_PSYCH_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_EXTREME_SPEED] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ANCIENT_POWER] = { + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_ROCK, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SHADOW_BALL] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FUTURE_SIGHT] = { + .effect = EFFECT_FUTURE_SIGHT, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_ROCK_SMASH] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 20, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WHIRLPOOL] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_WATER, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BEAT_UP] = { + .effect = EFFECT_BEAT_UP, + .power = 10, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FAKE_OUT] = { + .effect = EFFECT_FAKE_OUT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_UPROAR] = { + .effect = EFFECT_UPROAR, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_STOCKPILE] = { + .effect = EFFECT_STOCKPILE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SPIT_UP] = { + .effect = EFFECT_SPIT_UP, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWALLOW] = { + .effect = EFFECT_SWALLOW, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HEAT_WAVE] = { + .effect = EFFECT_BURN_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HAIL] = { + .effect = EFFECT_HAIL, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TORMENT] = { + .effect = EFFECT_TORMENT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLATTER] = { + .effect = EFFECT_FLATTER, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WILL_O_WISP] = { + .effect = EFFECT_WILL_O_WISP, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEMENTO] = { + .effect = EFFECT_MEMENTO, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FACADE] = { + .effect = EFFECT_FACADE, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FOCUS_PUNCH] = { + .effect = EFFECT_FOCUS_PUNCH, + .power = 150, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -3, + .flags = F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SMELLING_SALT] = { + .effect = EFFECT_SMELLINGSALT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FOLLOW_ME] = { + .effect = EFFECT_FOLLOW_ME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_NATURE_POWER] = { + .effect = EFFECT_NATURE_POWER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_CHARGE] = { + .effect = EFFECT_CHARGE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_TAUNT] = { + .effect = EFFECT_TAUNT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HELPING_HAND] = { + .effect = EFFECT_HELPING_HAND, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 5, + .flags = 0, + }, + + [MOVE_TRICK] = { + .effect = EFFECT_TRICK, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROLE_PLAY] = { + .effect = EFFECT_ROLE_PLAY, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_WISH] = { + .effect = EFFECT_WISH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ASSIST] = { + .effect = EFFECT_ASSIST, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_INGRAIN] = { + .effect = EFFECT_INGRAIN, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SUPERPOWER] = { + .effect = EFFECT_SUPERPOWER, + .power = 120, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MAGIC_COAT] = { + .effect = EFFECT_MAGIC_COAT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 4, + .flags = 0, + }, + + [MOVE_RECYCLE] = { + .effect = EFFECT_RECYCLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_REVENGE] = { + .effect = EFFECT_REVENGE, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -4, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BRICK_BREAK] = { + .effect = EFFECT_BRICK_BREAK, + .power = 75, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_YAWN] = { + .effect = EFFECT_YAWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_KNOCK_OFF] = { + .effect = EFFECT_KNOCK_OFF, + .power = 20, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ENDEAVOR] = { + .effect = EFFECT_ENDEAVOR, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ERUPTION] = { + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKILL_SWAP] = { + .effect = EFFECT_SKILL_SWAP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IMPRISON] = { + .effect = EFFECT_IMPRISON, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REFRESH] = { + .effect = EFFECT_REFRESH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_GRUDGE] = { + .effect = EFFECT_GRUDGE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SNATCH] = { + .effect = EFFECT_SNATCH, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 4, + .flags = F_MIRROR_MOVE_COMPATIBLE, + }, + + [MOVE_SECRET_POWER] = { + .effect = EFFECT_SECRET_POWER, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIVE] = { + .effect = EFFECT_FLY, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ARM_THRUST] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CAMOUFLAGE] = { + .effect = EFFECT_CAMOUFLAGE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_TAIL_GLOW] = { + .effect = EFFECT_SPECIAL_ATTACK_UP_2, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LUSTER_PURGE] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIST_BALL] = { + .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FEATHER_DANCE] = { + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TEETER_DANCE] = { + .effect = EFFECT_TEETER_DANCE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BLAZE_KICK] = { + .effect = EFFECT_BLAZE_KICK, + .power = 85, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MUD_SPORT] = { + .effect = EFFECT_MUD_SPORT, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ICE_BALL] = { + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ICE, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_NEEDLE_ARM] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLACK_OFF] = { + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HYPER_VOICE] = { + .effect = EFFECT_HIT, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_FANG] = { + .effect = EFFECT_POISON_FANG, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CRUSH_CLAW] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 75, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 10, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BLAST_BURN] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYDRO_CANNON] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_WATER, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_METEOR_MASH] = { + .effect = EFFECT_ATTACK_UP_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ASTONISH] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 30, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WEATHER_BALL] = { + .effect = EFFECT_WEATHER_BALL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AROMATHERAPY] = { + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_FAKE_TEARS] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AIR_CUTTER] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OVERHEAT] = { + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ODOR_SLEUTH] = { + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROCK_TOMB] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SILVER_WIND] = { + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_METAL_SOUND] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_GRASS_WHISTLE] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TICKLE] = { + .effect = EFFECT_TICKLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_COSMIC_POWER] = { + .effect = EFFECT_COSMIC_POWER, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_WATER_SPOUT] = { + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SIGNAL_BEAM] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 75, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHADOW_PUNCH] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_EXTRASENSORY] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKY_UPPERCUT] = { + .effect = EFFECT_SKY_UPPERCUT, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAND_TOMB] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_GROUND, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHEER_COLD] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_ICE, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MUDDY_WATER] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BULLET_SEED] = { + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AERIAL_ACE] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ICICLE_SPEAR] = { + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IRON_DEFENSE] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BLOCK] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HOWL] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_DRAGON_CLAW] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FRENZY_PLANT] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BULK_UP] = { + .effect = EFFECT_BULK_UP, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BOUNCE] = { + .effect = EFFECT_FLY, + .power = 85, + .type = TYPE_FLYING, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MUD_SHOT] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_GROUND, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_TAIL] = { + .effect = EFFECT_POISON_TAIL, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COVET] = { + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_VOLT_TACKLE] = { + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MAGICAL_LEAF] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATER_SPORT] = { + .effect = EFFECT_WATER_SPORT, + .power = 0, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_CALM_MIND] = { + .effect = EFFECT_CALM_MIND, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LEAF_BLADE] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRAGON_DANCE] = { + .effect = EFFECT_DRAGON_DANCE, + .power = 0, + .type = TYPE_DRAGON, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_ROCK_BLAST] = { + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHOCK_WAVE] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_ELECTRIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATER_PULSE] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DOOM_DESIRE] = { + .effect = EFFECT_FUTURE_SIGHT, + .power = 120, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_PSYCHO_BOOST] = { + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + +}; |