diff --git a/package-lock.json b/package-lock.json index 44dcc4649..847d6301b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1338,9 +1338,9 @@ } }, "node_modules/i18next": { - "version": "22.4.13", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.13.tgz", - "integrity": "sha512-GX7flMHRRqQA0I1yGLmaZ4Hwt1JfLqagk8QPDPZsqekbKtXsuIngSVWM/s3SLgNkrEXjA+0sMGNuOEkkmyqmWg==", + "version": "22.4.14", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.14.tgz", + "integrity": "sha512-VtLPtbdwGn0+DAeE00YkiKKXadkwg+rBUV+0v8v0ikEjwdiJ0gmYChVE4GIa9HXymY6wKapkL93vGT7xpq6aTw==", "funding": [ { "type": "individual", diff --git a/src/battle-anims.ts b/src/battle-anims.ts index ae4e9c494..8bef95a04 100644 --- a/src/battle-anims.ts +++ b/src/battle-anims.ts @@ -342,7 +342,7 @@ export function loadMoveAnimAssets(scene: BattleScene, moveIds: Moves[], startLo scene.loadImage(bg, 'battle_anims'); for (let s of sounds) scene.loadSe(s, 'battle_anims', s); - this.scene.load.once(Phaser.Loader.Events.COMPLETE, () => resolve()); + scene.load.once(Phaser.Loader.Events.COMPLETE, () => resolve()); if (startLoad && !scene.load.isLoading()) scene.load.start(); }); diff --git a/src/battle-phase.ts b/src/battle-phase.ts index 1b1406a25..bd859d75a 100644 --- a/src/battle-phase.ts +++ b/src/battle-phase.ts @@ -10,6 +10,7 @@ import PartyUiHandler from "./ui/party-ui-handler"; import { doPokeballBounceAnim, getPokeballAtlasKey, getPokeballCatchMultiplier, getPokeballTintColor as getPokeballTintColor, PokeballType } from "./pokeball"; import { pokemonLevelMoves } from "./pokemon-level-moves"; import { MoveAnim, loadMoveAnimAssets } from "./battle-anims"; +import { StatusEffect } from "./status-effect"; export class BattlePhase { protected scene: BattleScene; @@ -246,6 +247,7 @@ export class SummonPhase extends BattlePhase { onComplete: () => { playerPokemon.cry(); playerPokemon.getSprite().clearTint(); + playerPokemon.resetSummonData(); this.scene.time.delayedCall(1000, () => this.end()); } }); @@ -337,6 +339,9 @@ export class CommandPhase extends BattlePhase { this.scene.ui.setMode(Mode.COMMAND); this.scene.currentBattle.addParticipant(this.scene.getPlayerPokemon()); + + this.scene.getPlayerPokemon().resetTurnData(); + this.scene.getEnemyPokemon().resetTurnData(); } handleCommand(command: Command, cursor: integer): boolean{ @@ -441,6 +446,7 @@ abstract class MovePhase extends BattlePhase { console.log(this.pokemon.moveset); this.scene.ui.showText(`${this.pokemon.name} used\n${this.move.getName()}!`, null, () => { this.move.ppUsed++; + if (this.move.getMove().category !== MoveCategory.STATUS) { if (this.hitCheck()) this.scene.unshiftPhase(this.getEffectPhase()); @@ -507,8 +513,14 @@ abstract class MoveEffectPhase extends PokemonPhase { new MoveAnim(this.move.getMove().id as Moves, user, target).play(this.scene, () =>{ this.getTargetPokemon().apply(this.getUserPokemon(), this.move, () => this.end()); - if (this.getTargetPokemon().hp <= 0) + if (this.getUserPokemon().hp <= 0) { + this.scene.pushPhase(new FaintPhase(this.scene, this.player)); + this.getTargetPokemon().resetBattleSummonData(); + } + if (this.getTargetPokemon().hp <= 0) { this.scene.pushPhase(new FaintPhase(this.scene, !this.player)); + this.getUserPokemon().resetBattleSummonData(); + } }); } @@ -549,6 +561,24 @@ export class EnemyMoveEffectPhase extends MoveEffectPhase { } } +export class ObtainStatusEffectPhase extends PokemonPhase { + private statusEffect: StatusEffect; + + constructor(scene: BattleScene, player: boolean, statusEffect: StatusEffect) { + super(scene, player); + } + + start() { + const pokemon = this.getPokemon(); + if (pokemon.status === StatusEffect.NONE) { + pokemon.status = this.statusEffect; + // Show message and animation + this.end(); + } else + this.end(); + } +} + export class MessagePhase extends BattlePhase { private text: string; private prompt: boolean; diff --git a/src/move.ts b/src/move.ts index 1f8c523be..c012119d6 100644 --- a/src/move.ts +++ b/src/move.ts @@ -1,4 +1,10 @@ -import { Type } from './type' +import { MessagePhase, ObtainStatusEffectPhase } from "./battle-phase"; +import BattleScene from "./battle-scene"; +import Pokemon, { PlayerPokemon } from "./pokemon"; +import { Stat } from "./pokemon-stat"; +import { StatusEffect } from "./status-effect"; +import { Type } from "./type"; +import * as Utils from "./utils"; export enum MoveCategory { PHYSICAL = 0, @@ -10,7 +16,7 @@ export default class Move { public id: Moves; public name: string; public type: Type; - public category: integer; + public category: MoveCategory; public power: integer; public accuracy: integer; public pp: integer; @@ -18,8 +24,9 @@ export default class Move { public effect: string; public chance: integer; public generation: integer; + public attrs: MoveAttr[]; - constructor(id, name, type, category, power, accuracy, pp, tm, effect, chance, generation) { + constructor(id: Moves, name: string, type: Type, category: MoveCategory, power: integer, accuracy: integer, pp: integer, tm: string, effect: string, chance: integer, generation: integer, ...attrs: MoveAttr[]) { this.id = id; this.name = name; this.type = type; @@ -31,6 +38,7 @@ export default class Move { this.effect = effect; this.chance = chance; this.generation = generation; + this.attrs = attrs; } } @@ -596,567 +604,651 @@ export enum Moves { FUSION_BOLT }; +export abstract class MoveAttr { + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + return true; + } +} + +class HighCritAttr extends MoveAttr { + +} + +class MultiHitAttr extends MoveAttr { + constructor() { + super(); + } + + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + const rand = Utils.randInt(16); + let hitTimes: integer; + if (rand >= 10) + hitTimes = 2; + else if (rand >= 4) + hitTimes = 3; + else if (rand >= 2) + hitTimes = 4; + else + hitTimes = 5; + (args[0] as Utils.IntegerHolder).value = hitTimes; + return true; + } +} + +class StatusEffectAttr extends MoveAttr { + public effect: StatusEffect; + + constructor(effect: StatusEffect) { + super(); + this.effect = effect; + } + + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + const statusCheck = move.chance < 0 || move.chance === 100 || Utils.randInt(100) < move.chance; + if (statusCheck) + scene.unshiftPhase(new ObtainStatusEffectPhase(scene, target instanceof PlayerPokemon, this.effect)); + return true; + } +} + +class OneHitKOAttr extends MoveAttr { + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + target.hp = 0; + scene.unshiftPhase(new MessagePhase(scene, 'It\'s a one-hit KO!')); + return true; + } +} + +class ChargeAttr extends MoveAttr { + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + return true; + } +} + +class StatChangeAttr extends MoveAttr { + public stat: Stat; + public levels: integer; + + constructor(stat: Stat, levels: integer) { + super(); + } + + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + return true; + } +} + +class FlinchAttr extends MoveAttr { + apply(scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + return true; + } +} + +export function applyMoveAttrs(attrType: { new(...args: any[]): MoveAttr }, scene: BattleScene, user: Pokemon, target: Pokemon, move: Move, ...args: any[]): void { + const moveAttrs = move.attrs.filter(a => a instanceof attrType); + for (let attr of moveAttrs) { + attr.apply(scene, user, target, move, args); + } +} + export const allMoves = [ - [ Moves.POUND, "Pound", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1 ], - [ Moves.KARATE_CHOP, "Karate Chop", Type.FIGHTING, MoveCategory.PHYSICAL, 50, 100, 25, "", "High critical hit ratio.", -1, 1 ], - [ Moves.DOUBLE_SLAP, "Double Slap", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 10, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.COMET_PUNCH, "Comet Punch", Type.NORMAL, MoveCategory.PHYSICAL, 18, 85, 15, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.MEGA_PUNCH, "Mega Punch", Type.NORMAL, MoveCategory.PHYSICAL, 80, 85, 20, "", "", -1, 1 ], - [ Moves.PAY_DAY, "Pay Day", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 20, "", "Money is earned after the battle.", -1, 1 ], - [ Moves.FIRE_PUNCH, "Fire Punch", Type.FIRE, MoveCategory.PHYSICAL, 75, 100, 15, "TM67", "May burn opponent.", 10, 1 ], - [ Moves.ICE_PUNCH, "Ice Punch", Type.ICE, MoveCategory.PHYSICAL, 75, 100, 15, "TM69", "May freeze opponent.", 10, 1 ], - [ Moves.THUNDER_PUNCH, "Thunder Punch", Type.ELECTRIC, MoveCategory.PHYSICAL, 75, 100, 15, "TM68", "May paralyze opponent.", 10, 1 ], - [ Moves.SCRATCH, "Scratch", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1 ], - [ Moves.VISE_GRIP, "Vise Grip", Type.NORMAL, MoveCategory.PHYSICAL, 55, 100, 30, "", "", -1, 1 ], - [ Moves.GUILLOTINE, "Guillotine", Type.NORMAL, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1 ], - [ Moves.RAZOR_WIND, "Razor Wind", Type.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, "", "Charges on first turn, attacks on second. High critical hit ratio.", -1, 1 ], - [ Moves.SWORDS_DANCE, "Swords Dance", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "TM88", "Sharply raises user's Attack.", -1, 1 ], - [ Moves.CUT, "Cut", Type.NORMAL, MoveCategory.PHYSICAL, 50, 95, 30, "", "", -1, 1 ], - [ Moves.GUST, "Gust", Type.FLYING, MoveCategory.SPECIAL, 40, 100, 35, "", "Hits Pokémon using Fly/Bounce/Sky Drop with double power.", -1, 1 ], - [ Moves.WING_ATTACK, "Wing Attack", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 35, "", "", -1, 1 ], - [ Moves.WHIRLWIND, "Whirlwind", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 1 ], - [ Moves.FLY, "Fly", Type.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, "TM97", "Flies up on first turn, attacks on second turn.", -1, 1 ], - [ Moves.BIND, "Bind", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1 ], - [ Moves.SLAM, "Slam", Type.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, "", "", -1, 1 ], - [ Moves.VINE_WHIP, "Vine Whip", Type.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, "", "", -1, 1 ], - [ Moves.STOMP, "Stomp", Type.NORMAL, MoveCategory.PHYSICAL, 65, 100, 20, "", "May cause flinching.", 30, 1 ], - [ Moves.DOUBLE_KICK, "Double Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 30, 100, 30, "", "Hits twice in one turn.", -1, 1 ], - [ Moves.MEGA_KICK, "Mega Kick", Type.NORMAL, MoveCategory.PHYSICAL, 120, 75, 5, "", "", -1, 1 ], - [ Moves.JUMP_KICK, "Jump Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, "", "If it misses, the user loses half their HP.", -1, 1 ], - [ Moves.ROLLING_KICK, "Rolling Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 85, 15, "", "May cause flinching.", 30, 1 ], - [ Moves.SAND_ATTACK, "Sand Attack", Type.GROUND, MoveCategory.STATUS, -1, 100, 15, "", "Lowers opponent's Accuracy.", -1, 1 ], - [ Moves.HEADBUTT, "Headbutt", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 15, "", "May cause flinching.", 30, 1 ], - [ Moves.HORN_ATTACK, "Horn Attack", Type.NORMAL, MoveCategory.PHYSICAL, 65, 100, 25, "", "", -1, 1 ], - [ Moves.FURY_ATTACK, "Fury Attack", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.HORN_DRILL, "Horn Drill", Type.NORMAL, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1 ], - [ Moves.TACKLE, "Tackle", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1 ], - [ Moves.BODY_SLAM, "Body Slam", Type.NORMAL, MoveCategory.PHYSICAL, 85, 100, 15, "TM66", "May paralyze opponent.", 30, 1 ], - [ Moves.WRAP, "Wrap", Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1 ], - [ Moves.TAKE_DOWN, "Take Down", Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, "TM01", "User receives recoil damage.", -1, 1 ], - [ Moves.THRASH, "Thrash", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, "", "User attacks for 2-3 turns but then becomes confused.", -1, 1 ], - [ Moves.DOUBLE_EDGE, "Double-Edge", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 1 ], - [ Moves.TAIL_WHIP, "Tail Whip", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Lowers opponent's Defense.", -1, 1 ], - [ Moves.POISON_STING, "Poison Sting", Type.POISON, MoveCategory.PHYSICAL, 15, 100, 35, "", "May poison the opponent.", 30, 1 ], - [ Moves.TWINEEDLE, "Twineedle", Type.BUG, MoveCategory.PHYSICAL, 25, 100, 20, "", "Hits twice in one turn. May poison opponent.", 20, 1 ], - [ Moves.PIN_MISSILE, "Pin Missile", Type.BUG, MoveCategory.PHYSICAL, 25, 95, 20, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.LEER, "Leer", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Lowers opponent's Defense.", 100, 1 ], - [ Moves.BITE, "Bite", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 25, "", "May cause flinching.", 30, 1 ], - [ Moves.GROWL, "Growl", Type.NORMAL, MoveCategory.STATUS, -1, 100, 40, "", "Lowers opponent's Attack.", -1, 1 ], - [ Moves.ROAR, "Roar", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 1 ], - [ Moves.SING, "Sing", Type.NORMAL, MoveCategory.STATUS, -1, 55, 15, "", "Puts opponent to sleep.", -1, 1 ], - [ Moves.SUPERSONIC, "Supersonic", Type.NORMAL, MoveCategory.STATUS, -1, 55, 20, "", "Confuses opponent.", -1, 1 ], - [ Moves.SONIC_BOOM, "Sonic Boom", Type.NORMAL, MoveCategory.SPECIAL, -1, 90, 20, "", "Always inflicts 20 HP.", -1, 1 ], - [ Moves.DISABLE, "Disable", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Opponent can't use its last attack for a few turns.", -1, 1 ], - [ Moves.ACID, "Acid", Type.POISON, MoveCategory.SPECIAL, 40, 100, 30, "", "May lower opponent's Special Defense.", 10, 1 ], - [ Moves.EMBER, "Ember", Type.FIRE, MoveCategory.SPECIAL, 40, 100, 25, "", "May burn opponent.", 10, 1 ], - [ Moves.FLAMETHROWER, "Flamethrower", Type.FIRE, MoveCategory.SPECIAL, 90, 100, 15, "TM125", "May burn opponent.", 10, 1 ], - [ Moves.MIST, "Mist", Type.ICE, MoveCategory.STATUS, -1, -1, 30, "", "User's stats cannot be changed for a period of time.", -1, 1 ], - [ Moves.WATER_GUN, "Water Gun", Type.WATER, MoveCategory.SPECIAL, 40, 100, 25, "", "", -1, 1 ], - [ Moves.HYDRO_PUMP, "Hydro Pump", Type.WATER, MoveCategory.SPECIAL, 110, 80, 5, "TM142", "", -1, 1 ], - [ Moves.SURF, "Surf", Type.WATER, MoveCategory.SPECIAL, 90, 100, 15, "TM123", "Hits all adjacent Pokémon.", -1, 1 ], - [ Moves.ICE_BEAM, "Ice Beam", Type.ICE, MoveCategory.SPECIAL, 90, 100, 10, "TM135", "May freeze opponent.", 10, 1 ], - [ Moves.BLIZZARD, "Blizzard", Type.ICE, MoveCategory.SPECIAL, 110, 70, 5, "TM143", "May freeze opponent.", 10, 1 ], - [ Moves.PSYBEAM, "Psybeam", Type.PSYCHIC, MoveCategory.SPECIAL, 65, 100, 20, "TM16", "May confuse opponent.", 10, 1 ], - [ Moves.BUBBLE_BEAM, "Bubble Beam", Type.WATER, MoveCategory.SPECIAL, 65, 100, 20, "", "May lower opponent's Speed.", 10, 1 ], - [ Moves.AURORA_BEAM, "Aurora Beam", Type.ICE, MoveCategory.SPECIAL, 65, 100, 20, "", "May lower opponent's Attack.", 10, 1 ], - [ Moves.HYPER_BEAM, "Hyper Beam", Type.NORMAL, MoveCategory.SPECIAL, 150, 90, 5, "TM163", "User must recharge next turn.", -1, 1 ], - [ Moves.PECK, "Peck", Type.FLYING, MoveCategory.PHYSICAL, 35, 100, 35, "", "", -1, 1 ], - [ Moves.DRILL_PECK, "Drill Peck", Type.FLYING, MoveCategory.PHYSICAL, 80, 100, 20, "", "", -1, 1 ], - [ Moves.SUBMISSION, "Submission", Type.FIGHTING, MoveCategory.PHYSICAL, 80, 80, 20, "", "User receives recoil damage.", -1, 1 ], - [ Moves.LOW_KICK, "Low Kick", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "TM12", "The heavier the opponent, the stronger the attack.", -1, 1 ], - [ Moves.COUNTER, "Counter", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "", "When hit by a Physical Attack, user strikes back with 2x power.", -1, 1 ], - [ Moves.SEISMIC_TOSS, "Seismic Toss", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "", "Inflicts damage equal to user's level.", -1, 1 ], - [ Moves.STRENGTH, "Strength", Type.NORMAL, MoveCategory.PHYSICAL, 80, 100, 15, "", "", -1, 1 ], - [ Moves.ABSORB, "Absorb", Type.GRASS, MoveCategory.SPECIAL, 20, 100, 25, "", "User recovers half the HP inflicted on opponent.", -1, 1 ], - [ Moves.MEGA_DRAIN, "Mega Drain", Type.GRASS, MoveCategory.SPECIAL, 40, 100, 15, "", "User recovers half the HP inflicted on opponent.", -1, 1 ], - [ Moves.LEECH_SEED, "Leech Seed", Type.GRASS, MoveCategory.STATUS, -1, 90, 10, "", "Drains HP from opponent each turn.", -1, 1 ], - [ Moves.GROWTH, "Growth", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Attack and Special Attack.", -1, 1 ], - [ Moves.RAZOR_LEAF, "Razor Leaf", Type.GRASS, MoveCategory.PHYSICAL, 55, 95, 25, "", "High critical hit ratio.", -1, 1 ], - [ Moves.SOLAR_BEAM, "Solar Beam", Type.GRASS, MoveCategory.SPECIAL, 120, 100, 10, "TM168", "Charges on first turn, attacks on second.", -1, 1 ], - [ Moves.POISON_POWDER, "Poison Powder", Type.POISON, MoveCategory.STATUS, -1, 75, 35, "", "Poisons opponent.", -1, 1 ], - [ Moves.STUN_SPORE, "Stun Spore", Type.GRASS, MoveCategory.STATUS, -1, 75, 30, "", "Paralyzes opponent.", -1, 1 ], - [ Moves.SLEEP_POWDER, "Sleep Powder", Type.GRASS, MoveCategory.STATUS, -1, 75, 15, "", "Puts opponent to sleep.", -1, 1 ], - [ Moves.PETAL_DANCE, "Petal Dance", Type.GRASS, MoveCategory.SPECIAL, 120, 100, 10, "", "User attacks for 2-3 turns but then becomes confused.", -1, 1 ], - [ Moves.STRING_SHOT, "String Shot", Type.BUG, MoveCategory.STATUS, -1, 95, 40, "", "Sharply lowers opponent's Speed.", -1, 1 ], - [ Moves.DRAGON_RAGE, "Dragon Rage", Type.DRAGON, MoveCategory.SPECIAL, -1, 100, 10, "", "Always inflicts 40 HP.", -1, 1 ], - [ Moves.FIRE_SPIN, "Fire Spin", Type.FIRE, MoveCategory.SPECIAL, 35, 85, 15, "TM24", "Traps opponent, damaging them for 4-5 turns.", 100, 1 ], - [ Moves.THUNDER_SHOCK, "Thunder Shock", Type.ELECTRIC, MoveCategory.SPECIAL, 40, 100, 30, "", "May paralyze opponent.", 10, 1 ], - [ Moves.THUNDERBOLT, "Thunderbolt", Type.ELECTRIC, MoveCategory.SPECIAL, 90, 100, 15, "TM126", "May paralyze opponent.", 10, 1 ], - [ Moves.THUNDER_WAVE, "Thunder Wave", Type.ELECTRIC, MoveCategory.STATUS, -1, 90, 20, "TM82", "Paralyzes opponent.", -1, 1 ], - [ Moves.THUNDER, "Thunder", Type.ELECTRIC, MoveCategory.SPECIAL, 110, 70, 10, "TM166", "May paralyze opponent.", 30, 1 ], - [ Moves.ROCK_THROW, "Rock Throw", Type.ROCK, MoveCategory.PHYSICAL, 50, 90, 15, "", "", -1, 1 ], - [ Moves.EARTHQUAKE, "Earthquake", Type.GROUND, MoveCategory.PHYSICAL, 100, 100, 10, "TM149", "Power is doubled if opponent is underground from using Dig.", -1, 1 ], - [ Moves.FISSURE, "Fissure", Type.GROUND, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1 ], - [ Moves.DIG, "Dig", Type.GROUND, MoveCategory.PHYSICAL, 80, 100, 10, "TM55", "Digs underground on first turn, attacks on second. Can also escape from caves.", -1, 1 ], - [ Moves.TOXIC, "Toxic", Type.POISON, MoveCategory.STATUS, -1, 90, 10, "", "Badly poisons opponent.", -1, 1 ], - [ Moves.CONFUSION, "Confusion", Type.PSYCHIC, MoveCategory.SPECIAL, 50, 100, 25, "", "May confuse opponent.", 10, 1 ], - [ Moves.PSYCHIC, "Psychic", Type.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, "TM120", "May lower opponent's Special Defense.", 10, 1 ], - [ Moves.HYPNOSIS, "Hypnosis", Type.PSYCHIC, MoveCategory.STATUS, -1, 60, 20, "", "Puts opponent to sleep.", -1, 1 ], - [ Moves.MEDITATE, "Meditate", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Attack.", -1, 1 ], - [ Moves.AGILITY, "Agility", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 30, "TM04", "Sharply raises user's Speed.", -1, 1 ], - [ Moves.QUICK_ATTACK, "Quick Attack", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 1 ], - [ Moves.RAGE, "Rage", Type.NORMAL, MoveCategory.PHYSICAL, 20, 100, 20, "", "Raises user's Attack when hit.", -1, 1 ], - [ Moves.TELEPORT, "Teleport", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Allows user to flee wild battles; also warps player to last PokéCenter.", -1, 1 ], - [ Moves.NIGHT_SHADE, "Night Shade", Type.GHOST, MoveCategory.SPECIAL, -1, 100, 15, "TM42", "Inflicts damage equal to user's level.", -1, 1 ], - [ Moves.MIMIC, "Mimic", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Copies the opponent's last move.", -1, 1 ], - [ Moves.SCREECH, "Screech", Type.NORMAL, MoveCategory.STATUS, -1, 85, 40, "", "Sharply lowers opponent's Defense.", -1, 1 ], - [ Moves.DOUBLE_TEAM, "Double Team", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Raises user's Evasiveness.", -1, 1 ], - [ Moves.RECOVER, "Recover", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 1 ], - [ Moves.HARDEN, "Harden", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Defense.", -1, 1 ], - [ Moves.MINIMIZE, "Minimize", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Sharply raises user's Evasiveness.", -1, 1 ], - [ Moves.SMOKESCREEN, "Smokescreen", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Accuracy.", -1, 1 ], - [ Moves.CONFUSE_RAY, "Confuse Ray", Type.GHOST, MoveCategory.STATUS, -1, 100, 10, "TM17", "Confuses opponent.", -1, 1 ], - [ Moves.WITHDRAW, "Withdraw", Type.WATER, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Defense.", -1, 1 ], - [ Moves.DEFENSE_CURL, "Defense Curl", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Defense.", -1, 1 ], - [ Moves.BARRIER, "Barrier", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Defense.", -1, 1 ], - [ Moves.LIGHT_SCREEN, "Light Screen", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 30, "TM75", "Halves damage from Special attacks for 5 turns.", -1, 1 ], - [ Moves.HAZE, "Haze", Type.ICE, MoveCategory.STATUS, -1, -1, 30, "", "Resets all stat changes.", -1, 1 ], - [ Moves.REFLECT, "Reflect", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM74", "Halves damage from Physical attacks for 5 turns.", -1, 1 ], - [ Moves.FOCUS_ENERGY, "Focus Energy", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Increases critical hit ratio.", -1, 1 ], - [ Moves.BIDE, "Bide", Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 10, "", "User takes damage for two turns then strikes back double.", -1, 1 ], - [ Moves.METRONOME, "Metronome", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM80", "User performs almost any move in the game at random.", -1, 1 ], - [ Moves.MIRROR_MOVE, "Mirror Move", Type.FLYING, MoveCategory.STATUS, -1, -1, 20, "", "User performs the opponent's last move.", -1, 1 ], - [ Moves.SELF_DESTRUCT, "Self-Destruct", Type.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, "", "User faints.", -1, 1 ], - [ Moves.EGG_BOMB, "Egg Bomb", Type.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, "", "", -1, 1 ], - [ Moves.LICK, "Lick", Type.GHOST, MoveCategory.PHYSICAL, 30, 100, 30, "", "May paralyze opponent.", 30, 1 ], - [ Moves.SMOG, "Smog", Type.POISON, MoveCategory.SPECIAL, 30, 70, 20, "", "May poison opponent.", 40, 1 ], - [ Moves.SLUDGE, "Sludge", Type.POISON, MoveCategory.SPECIAL, 65, 100, 20, "", "May poison opponent.", 30, 1 ], - [ Moves.BONE_CLUB, "Bone Club", Type.GROUND, MoveCategory.PHYSICAL, 65, 85, 20, "", "May cause flinching.", 10, 1 ], - [ Moves.FIRE_BLAST, "Fire Blast", Type.FIRE, MoveCategory.SPECIAL, 110, 85, 5, "TM141", "May burn opponent.", 10, 1 ], - [ Moves.WATERFALL, "Waterfall", Type.WATER, MoveCategory.PHYSICAL, 80, 100, 15, "TM77", "May cause flinching.", 20, 1 ], - [ Moves.CLAMP, "Clamp", Type.WATER, MoveCategory.PHYSICAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1 ], - [ Moves.SWIFT, "Swift", Type.NORMAL, MoveCategory.SPECIAL, 60, 999, 20, "TM32", "Ignores Accuracy and Evasiveness.", -1, 1 ], - [ Moves.SKULL_BASH, "Skull Bash", Type.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, "", "Raises Defense on first turn, attacks on second.", 100, 1 ], - [ Moves.SPIKE_CANNON, "Spike Cannon", Type.NORMAL, MoveCategory.PHYSICAL, 20, 100, 15, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.CONSTRICT, "Constrict", Type.NORMAL, MoveCategory.PHYSICAL, 10, 100, 35, "", "May lower opponent's Speed by one stage.", 10, 1 ], - [ Moves.AMNESIA, "Amnesia", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM128", "Sharply raises user's Special Defense.", -1, 1 ], - [ Moves.KINESIS, "Kinesis", Type.PSYCHIC, MoveCategory.STATUS, -1, 80, 15, "", "Lowers opponent's Accuracy.", -1, 1 ], - [ Moves.SOFT_BOILED, "Soft-Boiled", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 1 ], - [ Moves.HIGH_JUMP_KICK, "High Jump Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 130, 90, 10, "", "If it misses, the user loses half their HP.", -1, 1 ], - [ Moves.GLARE, "Glare", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Paralyzes opponent.", -1, 1 ], - [ Moves.DREAM_EATER, "Dream Eater", Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, "", "User recovers half the HP inflicted on a sleeping opponent.", -1, 1 ], - [ Moves.POISON_GAS, "Poison Gas", Type.POISON, MoveCategory.STATUS, -1, 90, 40, "", "Poisons opponent.", -1, 1 ], - [ Moves.BARRAGE, "Barrage", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.LEECH_LIFE, "Leech Life", Type.BUG, MoveCategory.PHYSICAL, 80, 100, 10, "TM95", "User recovers half the HP inflicted on opponent.", -1, 1 ], - [ Moves.LOVELY_KISS, "Lovely Kiss", Type.NORMAL, MoveCategory.STATUS, -1, 75, 10, "", "Puts opponent to sleep.", -1, 1 ], - [ Moves.SKY_ATTACK, "Sky Attack", Type.FLYING, MoveCategory.PHYSICAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May cause flinching. High critical hit ratio.", 30, 1 ], - [ Moves.TRANSFORM, "Transform", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User takes on the form and attacks of the opponent.", -1, 1 ], - [ Moves.BUBBLE, "Bubble", Type.WATER, MoveCategory.SPECIAL, 40, 100, 30, "", "May lower opponent's Speed.", 10, 1 ], - [ Moves.DIZZY_PUNCH, "Dizzy Punch", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, "", "May confuse opponent.", 20, 1 ], - [ Moves.SPORE, "Spore", Type.GRASS, MoveCategory.STATUS, -1, 100, 15, "", "Puts opponent to sleep.", -1, 1 ], - [ Moves.FLASH, "Flash", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Accuracy.", -1, 1 ], - [ Moves.PSYWAVE, "Psywave", Type.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, "", "Inflicts damage 50-150% of user's level.", -1, 1 ], - [ Moves.SPLASH, "Splash", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Doesn't do ANYTHING.", -1, 1 ], - [ Moves.ACID_ARMOR, "Acid Armor", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Defense.", -1, 1 ], - [ Moves.CRABHAMMER, "Crabhammer", Type.WATER, MoveCategory.PHYSICAL, 100, 90, 10, "", "High critical hit ratio.", -1, 1 ], - [ Moves.EXPLOSION, "Explosion", Type.NORMAL, MoveCategory.PHYSICAL, 250, 100, 5, "", "User faints.", -1, 1 ], - [ Moves.FURY_SWIPES, "Fury Swipes", Type.NORMAL, MoveCategory.PHYSICAL, 18, 80, 15, "", "Hits 2-5 times in one turn.", -1, 1 ], - [ Moves.BONEMERANG, "Bonemerang", Type.GROUND, MoveCategory.PHYSICAL, 50, 90, 10, "", "Hits twice in one turn.", -1, 1 ], - [ Moves.REST, "Rest", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "TM85", "User sleeps for 2 turns, but user is fully healed.", -1, 1 ], - [ Moves.ROCK_SLIDE, "Rock Slide", Type.ROCK, MoveCategory.PHYSICAL, 75, 90, 10, "TM86", "May cause flinching.", 30, 1 ], - [ Moves.HYPER_FANG, "Hyper Fang", Type.NORMAL, MoveCategory.PHYSICAL, 80, 90, 15, "", "May cause flinching.", 10, 1 ], - [ Moves.SHARPEN, "Sharpen", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Attack.", -1, 1 ], - [ Moves.CONVERSION, "Conversion", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Changes user's type to that of its first move.", -1, 1 ], - [ Moves.TRI_ATTACK, "Tri Attack", Type.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, "", "May paralyze, burn or freeze opponent.", 20, 1 ], - [ Moves.SUPER_FANG, "Super Fang", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 10, "", "Always takes off half of the opponent's HP.", -1, 1 ], - [ Moves.SLASH, "Slash", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio.", -1, 1 ], - [ Moves.SUBSTITUTE, "Substitute", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM103", "Uses HP to creates a decoy that takes hits.", -1, 1 ], - [ Moves.STRUGGLE, "Struggle", Type.NORMAL, MoveCategory.PHYSICAL, 50, -1, -1, "", "Only usable when all PP are gone. Hurts the user.", -1, 1 ], - [ Moves.SKETCH, "Sketch", Type.NORMAL, MoveCategory.STATUS, -1, -1, 1, "", "Permanently copies the opponent's last move.", -1, 2 ], - [ Moves.TRIPLE_KICK, "Triple Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 10, 90, 10, "", "Hits thrice in one turn at increasing power.", -1, 2 ], - [ Moves.THIEF, "Thief", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 25, "TM18", "Also steals opponent's held item.", -1, 2 ], - [ Moves.SPIDER_WEB, "Spider Web", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "Opponent cannot escape/switch.", -1, 2 ], - [ Moves.MIND_READER, "Mind Reader", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User's next attack is guaranteed to hit.", -1, 2 ], - [ Moves.NIGHTMARE, "Nightmare", Type.GHOST, MoveCategory.STATUS, -1, 100, 15, "", "The sleeping opponent loses 25% of its max HP each turn.", -1, 2 ], - [ Moves.FLAME_WHEEL, "Flame Wheel", Type.FIRE, MoveCategory.PHYSICAL, 60, 100, 25, "", "May burn opponent.", 10, 2 ], - [ Moves.SNORE, "Snore", Type.NORMAL, MoveCategory.SPECIAL, 50, 100, 15, "", "Can only be used if asleep. May cause flinching.", 30, 2 ], - [ Moves.CURSE, "Curse", Type.GHOST, MoveCategory.STATUS, -1, -1, 10, "", "Ghosts lose 50% of max HP and curse the opponent; Non-Ghosts raise Attack, Defense and lower Speed.", -1, 2 ], - [ Moves.FLAIL, "Flail", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, "", "The lower the user's HP, the higher the power.", -1, 2 ], - [ Moves.CONVERSION_2, "Conversion 2", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "User changes type to become resistant to opponent's last move.", -1, 2 ], - [ Moves.AEROBLAST, "Aeroblast", Type.FLYING, MoveCategory.SPECIAL, 100, 95, 5, "", "High critical hit ratio.", -1, 2 ], - [ Moves.COTTON_SPORE, "Cotton Spore", Type.GRASS, MoveCategory.STATUS, -1, 100, 40, "", "Sharply lowers opponent's Speed.", -1, 2 ], - [ Moves.REVERSAL, "Reversal", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 15, "TM134", "The lower the user's HP, the higher the power.", -1, 2 ], - [ Moves.SPITE, "Spite", Type.GHOST, MoveCategory.STATUS, -1, 100, 10, "", "The opponent's last move loses 2-5 PP.", -1, 2 ], - [ Moves.POWDER_SNOW, "Powder Snow", Type.ICE, MoveCategory.SPECIAL, 40, 100, 25, "", "May freeze opponent.", 10, 2 ], - [ Moves.PROTECT, "Protect", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM07", "Protects the user, but may fail if used consecutively.", -1, 2 ], - [ Moves.MACH_PUNCH, "Mach Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 2 ], - [ Moves.SCARY_FACE, "Scary Face", Type.NORMAL, MoveCategory.STATUS, -1, 100, 10, "TM06", "Sharply lowers opponent's Speed.", -1, 2 ], - [ Moves.FEINT_ATTACK, "Feint Attack", Type.DARK, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 2 ], - [ Moves.SWEET_KISS, "Sweet Kiss", Type.FAIRY, MoveCategory.STATUS, -1, 75, 10, "", "Confuses opponent.", -1, 2 ], - [ Moves.BELLY_DRUM, "Belly Drum", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User loses 50% of its max HP, but Attack raises to maximum.", -1, 2 ], - [ Moves.SLUDGE_BOMB, "Sludge Bomb", Type.POISON, MoveCategory.SPECIAL, 90, 100, 10, "TM148", "May poison opponent.", 30, 2 ], - [ Moves.MUD_SLAP, "Mud-Slap", Type.GROUND, MoveCategory.SPECIAL, 20, 100, 10, "TM05", "Lowers opponent's Accuracy.", 100, 2 ], - [ Moves.OCTAZOOKA, "Octazooka", Type.WATER, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 50, 2 ], - [ Moves.SPIKES, "Spikes", Type.GROUND, MoveCategory.STATUS, -1, -1, 20, "TM90", "Hurts opponents when they switch into battle.", -1, 2 ], - [ Moves.ZAP_CANNON, "Zap Cannon", Type.ELECTRIC, MoveCategory.SPECIAL, 120, 50, 5, "", "Paralyzes opponent.", 100, 2 ], - [ Moves.FORESIGHT, "Foresight", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, and allows Normal- and Fighting-type attacks to hit Ghosts.", -1, 2 ], - [ Moves.DESTINY_BOND, "Destiny Bond", Type.GHOST, MoveCategory.STATUS, -1, -1, 5, "", "If the user faints, the opponent also faints.", -1, 2 ], - [ Moves.PERISH_SONG, "Perish Song", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Any Pokémon in play when this attack is used faints in 3 turns.", -1, 2 ], - [ Moves.ICY_WIND, "Icy Wind", Type.ICE, MoveCategory.SPECIAL, 55, 95, 15, "TM34", "Lowers opponent's Speed.", 100, 2 ], - [ Moves.DETECT, "Detect", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 5, "", "Protects the user, but may fail if used consecutively.", -1, 2 ], - [ Moves.BONE_RUSH, "Bone Rush", Type.GROUND, MoveCategory.PHYSICAL, 25, 90, 10, "", "Hits 2-5 times in one turn.", -1, 2 ], - [ Moves.LOCK_ON, "Lock-On", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User's next attack is guaranteed to hit.", -1, 2 ], - [ Moves.OUTRAGE, "Outrage", Type.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, "TM156", "User attacks for 2-3 turns but then becomes confused.", -1, 2 ], - [ Moves.SANDSTORM, "Sandstorm", Type.ROCK, MoveCategory.STATUS, -1, -1, 10, "TM51", "Creates a sandstorm for 5 turns.", -1, 2 ], - [ Moves.GIGA_DRAIN, "Giga Drain", Type.GRASS, MoveCategory.SPECIAL, 75, 100, 10, "TM111", "User recovers half the HP inflicted on opponent.", -1, 2 ], - [ Moves.ENDURE, "Endure", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM47", "Always left with at least 1 HP, but may fail if used consecutively.", -1, 2 ], - [ Moves.CHARM, "Charm", Type.FAIRY, MoveCategory.STATUS, -1, 100, 20, "TM02", "Sharply lowers opponent's Attack.", -1, 2 ], - [ Moves.ROLLOUT, "Rollout", Type.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, "", "Doubles in power each turn for 5 turns.", -1, 2 ], - [ Moves.FALSE_SWIPE, "False Swipe", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, "TM57", "Always leaves opponent with at least 1 HP.", -1, 2 ], - [ Moves.SWAGGER, "Swagger", Type.NORMAL, MoveCategory.STATUS, -1, 85, 15, "", "Confuses opponent, but sharply raises its Attack.", -1, 2 ], - [ Moves.MILK_DRINK, "Milk Drink", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 2 ], - [ Moves.SPARK, "Spark", Type.ELECTRIC, MoveCategory.PHYSICAL, 65, 100, 20, "", "May paralyze opponent.", 30, 2 ], - [ Moves.FURY_CUTTER, "Fury Cutter", Type.BUG, MoveCategory.PHYSICAL, 40, 95, 20, "", "Power increases each turn.", -1, 2 ], - [ Moves.STEEL_WING, "Steel Wing", Type.STEEL, MoveCategory.PHYSICAL, 70, 90, 25, "", "May raise user's Defense.", 10, 2 ], - [ Moves.MEAN_LOOK, "Mean Look", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Opponent cannot flee or switch.", -1, 2 ], - [ Moves.ATTRACT, "Attract", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "If opponent is the opposite gender, it's less likely to attack.", -1, 2 ], - [ Moves.SLEEP_TALK, "Sleep Talk", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM70", "User performs one of its own moves while sleeping.", -1, 2 ], - [ Moves.HEAL_BELL, "Heal Bell", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Heals the user's party's status conditions.", -1, 2 ], - [ Moves.RETURN, "Return", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, "", "Power increases with higher Friendship.", -1, 2 ], - [ Moves.PRESENT, "Present", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, "", "Either deals damage or heals.", -1, 2 ], - [ Moves.FRUSTRATION, "Frustration", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, "", "Power decreases with higher Friendship.", -1, 2 ], - [ Moves.SAFEGUARD, "Safeguard", Type.NORMAL, MoveCategory.STATUS, -1, -1, 25, "", "The user's party is protected from status conditions.", -1, 2 ], - [ Moves.PAIN_SPLIT, "Pain Split", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "The user's and opponent's HP becomes the average of both.", -1, 2 ], - [ Moves.SACRED_FIRE, "Sacred Fire", Type.FIRE, MoveCategory.PHYSICAL, 100, 95, 5, "", "May burn opponent.", 50, 2 ], - [ Moves.MAGNITUDE, "Magnitude", Type.GROUND, MoveCategory.PHYSICAL, -1, 100, 30, "", "Hits with random power.", -1, 2 ], - [ Moves.DYNAMIC_PUNCH, "Dynamic Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 50, 5, "", "Confuses opponent.", 100, 2 ], - [ Moves.MEGAHORN, "Megahorn", Type.BUG, MoveCategory.PHYSICAL, 120, 85, 10, "", "", -1, 2 ], - [ Moves.DRAGON_BREATH, "Dragon Breath", Type.DRAGON, MoveCategory.SPECIAL, 60, 100, 20, "", "May paralyze opponent.", 30, 2 ], - [ Moves.BATON_PASS, "Baton Pass", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "TM132", "User switches out and gives stat changes to the incoming Pokémon.", -1, 2 ], - [ Moves.ENCORE, "Encore", Type.NORMAL, MoveCategory.STATUS, -1, 100, 5, "TM122", "Forces opponent to keep using its last move for 3 turns.", -1, 2 ], - [ Moves.PURSUIT, "Pursuit", Type.DARK, MoveCategory.PHYSICAL, 40, 100, 20, "", "Double power if the opponent is switching out.", -1, 2 ], - [ Moves.RAPID_SPIN, "Rapid Spin", Type.NORMAL, MoveCategory.PHYSICAL, 50, 100, 40, "", "Raises user's Speed and removes entry hazards and trap move effects.", 100, 2 ], - [ Moves.SWEET_SCENT, "Sweet Scent", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Evasiveness.", -1, 2 ], - [ Moves.IRON_TAIL, "Iron Tail", Type.STEEL, MoveCategory.PHYSICAL, 100, 75, 15, "", "May lower opponent's Defense.", 30, 2 ], - [ Moves.METAL_CLAW, "Metal Claw", Type.STEEL, MoveCategory.PHYSICAL, 50, 95, 35, "TM31", "May raise user's Attack.", 10, 2 ], - [ Moves.VITAL_THROW, "Vital Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 70, 999, 10, "", "User attacks last, but ignores Accuracy and Evasiveness.", -1, 2 ], - [ Moves.MORNING_SUN, "Morning Sun", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2 ], - [ Moves.SYNTHESIS, "Synthesis", Type.GRASS, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2 ], - [ Moves.MOONLIGHT, "Moonlight", Type.FAIRY, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2 ], - [ Moves.HIDDEN_POWER, "Hidden Power", Type.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, "", "Type and power depends on user's IVs.", -1, 2 ], - [ Moves.CROSS_CHOP, "Cross Chop", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 80, 5, "", "High critical hit ratio.", -1, 2 ], - [ Moves.TWISTER, "Twister", Type.DRAGON, MoveCategory.SPECIAL, 40, 100, 20, "", "May cause flinching. Hits Pokémon using Fly/Bounce with double power.", 20, 2 ], - [ Moves.RAIN_DANCE, "Rain Dance", Type.WATER, MoveCategory.STATUS, -1, -1, 5, "TM50", "Makes it rain for 5 turns.", -1, 2 ], - [ Moves.SUNNY_DAY, "Sunny Day", Type.FIRE, MoveCategory.STATUS, -1, -1, 5, "TM49", "Makes it sunny for 5 turns.", -1, 2 ], - [ Moves.CRUNCH, "Crunch", Type.DARK, MoveCategory.PHYSICAL, 80, 100, 15, "TM108", "May lower opponent's Defense.", 20, 2 ], - [ Moves.MIRROR_COAT, "Mirror Coat", Type.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 20, "", "When hit by a Special Attack, user strikes back with 2x power.", -1, 2 ], - [ Moves.PSYCH_UP, "Psych Up", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Copies the opponent's stat changes.", -1, 2 ], - [ Moves.EXTREME_SPEED, "Extreme Speed", Type.NORMAL, MoveCategory.PHYSICAL, 80, 100, 5, "", "User attacks first.", -1, 2 ], - [ Moves.ANCIENT_POWER, "Ancient Power", Type.ROCK, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all user's stats at once.", 10, 2 ], - [ Moves.SHADOW_BALL, "Shadow Ball", Type.GHOST, MoveCategory.SPECIAL, 80, 100, 15, "TM114", "May lower opponent's Special Defense.", 20, 2 ], - [ Moves.FUTURE_SIGHT, "Future Sight", Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, "", "Damage occurs 2 turns later.", -1, 2 ], - [ Moves.ROCK_SMASH, "Rock Smash", Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 15, "", "May lower opponent's Defense.", 50, 2 ], - [ Moves.WHIRLPOOL, "Whirlpool", Type.WATER, MoveCategory.SPECIAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 2 ], - [ Moves.BEAT_UP, "Beat Up", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, "", "Each Pokémon in user's party attacks.", -1, 2 ], - [ Moves.FAKE_OUT, "Fake Out", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 10, "", "User attacks first, foe flinches. Only usable on first turn.", 100, 3 ], - [ Moves.UPROAR, "Uproar", Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, "", "User attacks for 3 turns and prevents sleep.", -1, 3 ], - [ Moves.STOCKPILE, "Stockpile", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Stores energy for use with Spit Up and Swallow.", -1, 3 ], - [ Moves.SPIT_UP, "Spit Up", Type.NORMAL, MoveCategory.SPECIAL, -1, 100, 10, "", "Power depends on how many times the user performed Stockpile.", -1, 3 ], - [ Moves.SWALLOW, "Swallow", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "The more times the user has performed Stockpile, the more HP is recovered.", -1, 3 ], - [ Moves.HEAT_WAVE, "Heat Wave", Type.FIRE, MoveCategory.SPECIAL, 95, 90, 10, "TM118", "May burn opponent.", 10, 3 ], - [ Moves.HAIL, "Hail", Type.ICE, MoveCategory.STATUS, -1, -1, 10, "", "Non-Ice types are damaged for 5 turns.", -1, 3 ], - [ Moves.TORMENT, "Torment", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Opponent cannot use the same move in a row.", -1, 3 ], - [ Moves.FLATTER, "Flatter", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Confuses opponent, but raises its Special Attack.", -1, 3 ], - [ Moves.WILL_O_WISP, "Will-O-Wisp", Type.FIRE, MoveCategory.STATUS, -1, 85, 15, "TM107", "Burns opponent.", -1, 3 ], - [ Moves.MEMENTO, "Memento", Type.DARK, MoveCategory.STATUS, -1, 100, 10, "", "User faints, sharply lowers opponent's Attack and Special Attack.", -1, 3 ], - [ Moves.FACADE, "Facade", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "TM25", "Power doubles if user is burned, poisoned, or paralyzed.", -1, 3 ], - [ Moves.FOCUS_PUNCH, "Focus Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, "", "If the user is hit before attacking, it flinches instead.", -1, 3 ], - [ Moves.SMELLING_SALTS, "Smelling Salts", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, "", "Power doubles if opponent is paralyzed, but cures it.", -1, 3 ], - [ Moves.FOLLOW_ME, "Follow Me", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In Double Battle, the user takes all the attacks.", -1, 3 ], - [ Moves.NATURE_POWER, "Nature Power", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Uses a certain move based on the current terrain.", -1, 3 ], - [ Moves.CHARGE, "Charge", Type.ELECTRIC, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Special Defense and next Electric move's power increases.", -1, 3 ], - [ Moves.TAUNT, "Taunt", Type.DARK, MoveCategory.STATUS, -1, 100, 20, "TM87", "Opponent can only use moves that attack.", -1, 3 ], - [ Moves.HELPING_HAND, "Helping Hand", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "TM130", "In Double Battles, boosts the power of the partner's move.", -1, 3 ], - [ Moves.TRICK, "Trick", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 10, "TM109", "Swaps held items with the opponent.", -1, 3 ], - [ Moves.ROLE_PLAY, "Role Play", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User copies the opponent's Ability.", -1, 3 ], - [ Moves.WISH, "Wish", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "The user recovers HP in the following turn.", -1, 3 ], - [ Moves.ASSIST, "Assist", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "User performs a move known by its allies at random.", -1, 3 ], - [ Moves.INGRAIN, "Ingrain", Type.GRASS, MoveCategory.STATUS, -1, -1, 20, "", "User restores HP each turn. User cannot escape/switch.", -1, 3 ], - [ Moves.SUPERPOWER, "Superpower", Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, "", "Lowers user's Attack and Defense.", 100, 3 ], - [ Moves.MAGIC_COAT, "Magic Coat", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "Reflects moves that cause status conditions back to the attacker.", -1, 3 ], - [ Moves.RECYCLE, "Recycle", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User's used hold item is restored.", -1, 3 ], - [ Moves.REVENGE, "Revenge", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Power increases if user was hit first.", -1, 3 ], - [ Moves.BRICK_BREAK, "Brick Break", Type.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 15, "TM58", "Breaks through Reflect and Light Screen barriers.", -1, 3 ], - [ Moves.YAWN, "Yawn", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Puts opponent to sleep in the next turn.", -1, 3 ], - [ Moves.KNOCK_OFF, "Knock Off", Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, "", "Removes opponent's held item for the rest of the battle.", -1, 3 ], - [ Moves.ENDEAVOR, "Endeavor", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, "", "Reduces opponent's HP to same as user's.", -1, 3 ], - [ Moves.ERUPTION, "Eruption", Type.FIRE, MoveCategory.SPECIAL, 150, 100, 5, "", "Stronger when the user's HP is higher.", -1, 3 ], - [ Moves.SKILL_SWAP, "Skill Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "TM98", "The user swaps Abilities with the opponent.", -1, 3 ], - [ Moves.IMPRISON, "Imprison", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "TM92", "Opponent is unable to use moves that the user also knows.", -1, 3 ], - [ Moves.REFRESH, "Refresh", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Cures paralysis, poison, and burns.", -1, 3 ], - [ Moves.GRUDGE, "Grudge", Type.GHOST, MoveCategory.STATUS, -1, -1, 5, "", "If the users faints after using this move, the PP for the opponent's last move is depleted.", -1, 3 ], - [ Moves.SNATCH, "Snatch", Type.DARK, MoveCategory.STATUS, -1, -1, 10, "", "Steals the effects of the opponent's next move.", -1, 3 ], - [ Moves.SECRET_POWER, "Secret Power", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "Effects of the attack vary with the location.", 30, 3 ], - [ Moves.DIVE, "Dive", Type.WATER, MoveCategory.PHYSICAL, 80, 100, 10, "", "Dives underwater on first turn, attacks on second turn.", -1, 3 ], - [ Moves.ARM_THRUST, "Arm Thrust", Type.FIGHTING, MoveCategory.PHYSICAL, 15, 100, 20, "", "Hits 2-5 times in one turn.", -1, 3 ], - [ Moves.CAMOUFLAGE, "Camouflage", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Changes user's type according to the location.", -1, 3 ], - [ Moves.TAIL_GLOW, "Tail Glow", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Drastically raises user's Special Attack.", -1, 3 ], - [ Moves.LUSTER_PURGE, "Luster Purge", Type.PSYCHIC, MoveCategory.SPECIAL, 70, 100, 5, "", "May lower opponent's Special Defense.", 50, 3 ], - [ Moves.MIST_BALL, "Mist Ball", Type.PSYCHIC, MoveCategory.SPECIAL, 70, 100, 5, "", "May lower opponent's Special Attack.", 50, 3 ], - [ Moves.FEATHER_DANCE, "Feather Dance", Type.FLYING, MoveCategory.STATUS, -1, 100, 15, "", "Sharply lowers opponent's Attack.", -1, 3 ], - [ Moves.TEETER_DANCE, "Teeter Dance", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Confuses all Pokémon.", -1, 3 ], - [ Moves.BLAZE_KICK, "Blaze Kick", Type.FIRE, MoveCategory.PHYSICAL, 85, 90, 10, "", "High critical hit ratio. May burn opponent.", 10, 3 ], - [ Moves.MUD_SPORT, "Mud Sport", Type.GROUND, MoveCategory.STATUS, -1, -1, 15, "", "Weakens the power of Electric-type moves.", -1, 3 ], - [ Moves.ICE_BALL, "Ice Ball", Type.ICE, MoveCategory.PHYSICAL, 30, 90, 20, "", "Doubles in power each turn for 5 turns.", -1, 3 ], - [ Moves.NEEDLE_ARM, "Needle Arm", Type.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, "", "May cause flinching.", 30, 3 ], - [ Moves.SLACK_OFF, "Slack Off", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 3 ], - [ Moves.HYPER_VOICE, "Hyper Voice", Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, "TM117", "", -1, 3 ], - [ Moves.POISON_FANG, "Poison Fang", Type.POISON, MoveCategory.PHYSICAL, 50, 100, 15, "", "May badly poison opponent.", 50, 3 ], - [ Moves.CRUSH_CLAW, "Crush Claw", Type.NORMAL, MoveCategory.PHYSICAL, 75, 95, 10, "", "May lower opponent's Defense.", 50, 3 ], - [ Moves.BLAST_BURN, "Blast Burn", Type.FIRE, MoveCategory.SPECIAL, 150, 90, 5, "TM153", "User must recharge next turn.", -1, 3 ], - [ Moves.HYDRO_CANNON, "Hydro Cannon", Type.WATER, MoveCategory.SPECIAL, 150, 90, 5, "TM154", "User must recharge next turn.", -1, 3 ], - [ Moves.METEOR_MASH, "Meteor Mash", Type.STEEL, MoveCategory.PHYSICAL, 90, 90, 10, "", "May raise user's Attack.", 20, 3 ], - [ Moves.ASTONISH, "Astonish", Type.GHOST, MoveCategory.PHYSICAL, 30, 100, 15, "", "May cause flinching.", 30, 3 ], - [ Moves.WEATHER_BALL, "Weather Ball", Type.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, "", "Move's power and type changes with the weather.", -1, 3 ], - [ Moves.AROMATHERAPY, "Aromatherapy", Type.GRASS, MoveCategory.STATUS, -1, -1, 5, "", "Cures all status problems in your party.", -1, 3 ], - [ Moves.FAKE_TEARS, "Fake Tears", Type.DARK, MoveCategory.STATUS, -1, 100, 20, "TM03", "Sharply lowers opponent's Special Defense.", -1, 3 ], - [ Moves.AIR_CUTTER, "Air Cutter", Type.FLYING, MoveCategory.SPECIAL, 60, 95, 25, "TM40", "High critical hit ratio.", -1, 3 ], - [ Moves.OVERHEAT, "Overheat", Type.FIRE, MoveCategory.SPECIAL, 130, 90, 5, "TM157", "Sharply lowers user's Special Attack.", 100, 3 ], - [ Moves.ODOR_SLEUTH, "Odor Sleuth", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, and allows Normal- and Fighting-type attacks to hit Ghosts.", -1, 3 ], - [ Moves.ROCK_TOMB, "Rock Tomb", Type.ROCK, MoveCategory.PHYSICAL, 60, 95, 15, "TM36", "Lowers opponent's Speed.", 100, 3 ], - [ Moves.SILVER_WIND, "Silver Wind", Type.BUG, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all stats of user at once.", 10, 3 ], - [ Moves.METAL_SOUND, "Metal Sound", Type.STEEL, MoveCategory.STATUS, -1, 85, 40, "", "Sharply lowers opponent's Special Defense.", -1, 3 ], - [ Moves.GRASS_WHISTLE, "Grass Whistle", Type.GRASS, MoveCategory.STATUS, -1, 55, 15, "", "Puts opponent to sleep.", -1, 3 ], - [ Moves.TICKLE, "Tickle", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Attack and Defense.", -1, 3 ], - [ Moves.COSMIC_POWER, "Cosmic Power", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Defense and Special Defense.", -1, 3 ], - [ Moves.WATER_SPOUT, "Water Spout", Type.WATER, MoveCategory.SPECIAL, 150, 100, 5, "", "The higher the user's HP, the higher the damage caused.", -1, 3 ], - [ Moves.SIGNAL_BEAM, "Signal Beam", Type.BUG, MoveCategory.SPECIAL, 75, 100, 15, "", "May confuse opponent.", 10, 3 ], - [ Moves.SHADOW_PUNCH, "Shadow Punch", Type.GHOST, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 3 ], - [ Moves.EXTRASENSORY, "Extrasensory", Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 20, "", "May cause flinching.", 10, 3 ], - [ Moves.SKY_UPPERCUT, "Sky Uppercut", Type.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, "", "Hits the opponent, even during Fly.", -1, 3 ], - [ Moves.SAND_TOMB, "Sand Tomb", Type.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 3 ], - [ Moves.SHEER_COLD, "Sheer Cold", Type.ICE, MoveCategory.SPECIAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 3 ], - [ Moves.MUDDY_WATER, "Muddy Water", Type.WATER, MoveCategory.SPECIAL, 90, 85, 10, "", "May lower opponent's Accuracy.", 30, 3 ], - [ Moves.BULLET_SEED, "Bullet Seed", Type.GRASS, MoveCategory.PHYSICAL, 25, 100, 30, "TM56", "Hits 2-5 times in one turn.", -1, 3 ], - [ Moves.AERIAL_ACE, "Aerial Ace", Type.FLYING, MoveCategory.PHYSICAL, 60, 999, 20, "TM27", "Ignores Accuracy and Evasiveness.", -1, 3 ], - [ Moves.ICICLE_SPEAR, "Icicle Spear", Type.ICE, MoveCategory.PHYSICAL, 25, 100, 30, "", "Hits 2-5 times in one turn.", -1, 3 ], - [ Moves.IRON_DEFENSE, "Iron Defense", Type.STEEL, MoveCategory.STATUS, -1, -1, 15, "TM104", "Sharply raises user's Defense.", -1, 3 ], - [ Moves.BLOCK, "Block", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Opponent cannot flee or switch.", -1, 3 ], - [ Moves.HOWL, "Howl", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Raises Attack of allies.", -1, 3 ], - [ Moves.DRAGON_CLAW, "Dragon Claw", Type.DRAGON, MoveCategory.PHYSICAL, 80, 100, 15, "TM78", "", -1, 3 ], - [ Moves.FRENZY_PLANT, "Frenzy Plant", Type.GRASS, MoveCategory.SPECIAL, 150, 90, 5, "TM155", "User must recharge next turn.", -1, 3 ], - [ Moves.BULK_UP, "Bulk Up", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 20, "TM64", "Raises user's Attack and Defense.", -1, 3 ], - [ Moves.BOUNCE, "Bounce", Type.FLYING, MoveCategory.PHYSICAL, 85, 85, 5, "", "Springs up on first turn, attacks on second. May paralyze opponent.", 30, 3 ], - [ Moves.MUD_SHOT, "Mud Shot", Type.GROUND, MoveCategory.SPECIAL, 55, 95, 15, "TM35", "Lowers opponent's Speed.", 100, 3 ], - [ Moves.POISON_TAIL, "Poison Tail", Type.POISON, MoveCategory.PHYSICAL, 50, 100, 25, "TM26", "High critical hit ratio. May poison opponent.", 10, 3 ], - [ Moves.COVET, "Covet", Type.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, "", "Opponent's item is stolen by the user.", -1, 3 ], - [ Moves.VOLT_TACKLE, "Volt Tackle", Type.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage. May paralyze opponent.", 10, 3 ], - [ Moves.MAGICAL_LEAF, "Magical Leaf", Type.GRASS, MoveCategory.SPECIAL, 60, 999, 20, "TM33", "Ignores Accuracy and Evasiveness.", -1, 3 ], - [ Moves.WATER_SPORT, "Water Sport", Type.WATER, MoveCategory.STATUS, -1, -1, 15, "", "Weakens the power of Fire-type moves.", -1, 3 ], - [ Moves.CALM_MIND, "Calm Mind", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM129", "Raises user's Special Attack and Special Defense.", -1, 3 ], - [ Moves.LEAF_BLADE, "Leaf Blade", Type.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, "", "High critical hit ratio.", -1, 3 ], - [ Moves.DRAGON_DANCE, "Dragon Dance", Type.DRAGON, MoveCategory.STATUS, -1, -1, 20, "TM100", "Raises user's Attack and Speed.", -1, 3 ], - [ Moves.ROCK_BLAST, "Rock Blast", Type.ROCK, MoveCategory.PHYSICAL, 25, 90, 10, "TM76", "Hits 2-5 times in one turn.", -1, 3 ], - [ Moves.SHOCK_WAVE, "Shock Wave", Type.ELECTRIC, MoveCategory.SPECIAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 3 ], - [ Moves.WATER_PULSE, "Water Pulse", Type.WATER, MoveCategory.SPECIAL, 60, 100, 20, "TM11", "May confuse opponent.", 20, 3 ], - [ Moves.DOOM_DESIRE, "Doom Desire", Type.STEEL, MoveCategory.SPECIAL, 140, 100, 5, "", "Damage occurs 2 turns later.", -1, 3 ], - [ Moves.PSYCHO_BOOST, "Psycho Boost", Type.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, "", "Sharply lowers user's Special Attack.", 100, 3 ], - [ Moves.ROOST, "Roost", Type.FLYING, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half of its max HP and loses the Flying type temporarily.", -1, 4 ], - [ Moves.GRAVITY, "Gravity", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "", "Prevents moves like Fly and Bounce and the Ability Levitate for 5 turns.", -1, 4 ], - [ Moves.MIRACLE_EYE, "Miracle Eye", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, removes Dark's Psychic immunity.", -1, 4 ], - [ Moves.WAKE_UP_SLAP, "Wake-Up Slap", Type.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, "", "Power doubles if opponent is asleep, but wakes it up.", -1, 4 ], - [ Moves.HAMMER_ARM, "Hammer Arm", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, "", "Lowers user's Speed.", 100, 4 ], - [ Moves.GYRO_BALL, "Gyro Ball", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, "", "The slower the user, the stronger the attack.", -1, 4 ], - [ Moves.HEALING_WISH, "Healing Wish", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "The user faints and the next Pokémon released is fully healed.", -1, 4 ], - [ Moves.BRINE, "Brine", Type.WATER, MoveCategory.SPECIAL, 65, 100, 10, "", "Power doubles if opponent's HP is less than 50%.", -1, 4 ], - [ Moves.NATURAL_GIFT, "Natural Gift", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, "", "Power and type depend on the user's held berry.", -1, 4 ], - [ Moves.FEINT, "Feint", Type.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, "", "Only hits if opponent uses Protect or Detect in the same turn.", -1, 4 ], - [ Moves.PLUCK, "Pluck", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 20, "", "If the opponent is holding a berry, its effect is stolen by user.", -1, 4 ], - [ Moves.TAILWIND, "Tailwind", Type.FLYING, MoveCategory.STATUS, -1, -1, 15, "TM113", "Doubles Speed for 4 turns.", -1, 4 ], - [ Moves.ACUPRESSURE, "Acupressure", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Sharply raises a random stat.", -1, 4 ], - [ Moves.METAL_BURST, "Metal Burst", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, "", "Deals damage equal to 1.5x opponent's attack.", -1, 4 ], - [ Moves.U_TURN, "U-turn", Type.BUG, MoveCategory.PHYSICAL, 70, 100, 20, "TM60", "User switches out immediately after attacking.", -1, 4 ], - [ Moves.CLOSE_COMBAT, "Close Combat", Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, "TM167", "Lowers user's Defense and Special Defense.", 100, 4 ], - [ Moves.PAYBACK, "Payback", Type.DARK, MoveCategory.PHYSICAL, 50, 100, 10, "", "Power doubles if the user was attacked first.", -1, 4 ], - [ Moves.ASSURANCE, "Assurance", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 10, "", "Power doubles if opponent already took damage in the same turn.", -1, 4 ], - [ Moves.EMBARGO, "Embargo", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Opponent cannot use items.", -1, 4 ], - [ Moves.FLING, "Fling", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, "TM43", "Power depends on held item.", -1, 4 ], - [ Moves.PSYCHO_SHIFT, "Psycho Shift", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 10, "", "Transfers user's status condition to the opponent.", -1, 4 ], - [ Moves.TRUMP_CARD, "Trump Card", Type.NORMAL, MoveCategory.SPECIAL, -1, 999, 5, "", "The lower the PP, the higher the power.", -1, 4 ], - [ Moves.HEAL_BLOCK, "Heal Block", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 15, "", "Prevents the opponent from restoring HP for 5 turns.", -1, 4 ], - [ Moves.WRING_OUT, "Wring Out", Type.NORMAL, MoveCategory.SPECIAL, -1, 100, 5, "", "The higher the opponent's HP, the higher the damage.", -1, 4 ], - [ Moves.POWER_TRICK, "Power Trick", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User's own Attack and Defense switch.", -1, 4 ], - [ Moves.GASTRO_ACID, "Gastro Acid", Type.POISON, MoveCategory.STATUS, -1, 100, 10, "", "Cancels out the effect of the opponent's Ability.", -1, 4 ], - [ Moves.LUCKY_CHANT, "Lucky Chant", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Opponent cannot land critical hits for 5 turns.", -1, 4 ], - [ Moves.ME_FIRST, "Me First", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "User copies the opponent's attack with 1.5× power.", -1, 4 ], - [ Moves.COPYCAT, "Copycat", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Copies opponent's last move.", -1, 4 ], - [ Moves.POWER_SWAP, "Power Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User and opponent swap Attack and Special Attack.", -1, 4 ], - [ Moves.GUARD_SWAP, "Guard Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User and opponent swap Defense and Special Defense.", -1, 4 ], - [ Moves.PUNISHMENT, "Punishment", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 5, "", "Power increases when opponent's stats have been raised.", -1, 4 ], - [ Moves.LAST_RESORT, "Last Resort", Type.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, "", "Can only be used after all other moves are used.", -1, 4 ], - [ Moves.WORRY_SEED, "Worry Seed", Type.GRASS, MoveCategory.STATUS, -1, 100, 10, "", "Changes the opponent's Ability to Insomnia.", -1, 4 ], - [ Moves.SUCKER_PUNCH, "Sucker Punch", Type.DARK, MoveCategory.PHYSICAL, 70, 100, 5, "", "User attacks first, but only works if opponent is readying an attack.", -1, 4 ], - [ Moves.TOXIC_SPIKES, "Toxic Spikes", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "TM91", "Poisons opponents when they switch into battle.", -1, 4 ], - [ Moves.HEART_SWAP, "Heart Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Stat changes are swapped with the opponent.", -1, 4 ], - [ Moves.AQUA_RING, "Aqua Ring", Type.WATER, MoveCategory.STATUS, -1, -1, 20, "", "Restores a little HP each turn.", -1, 4 ], - [ Moves.MAGNET_RISE, "Magnet Rise", Type.ELECTRIC, MoveCategory.STATUS, -1, -1, 10, "", "User becomes immune to Ground-type moves for 5 turns.", -1, 4 ], - [ Moves.FLARE_BLITZ, "Flare Blitz", Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, "TM165", "User receives recoil damage. May burn opponent.", 10, 4 ], - [ Moves.FORCE_PALM, "Force Palm", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "May paralyze opponent.", 30, 4 ], - [ Moves.AURA_SPHERE, "Aura Sphere", Type.FIGHTING, MoveCategory.SPECIAL, 80, 999, 20, "TM112", "Ignores Accuracy and Evasiveness.", -1, 4 ], - [ Moves.ROCK_POLISH, "Rock Polish", Type.ROCK, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Speed.", -1, 4 ], - [ Moves.POISON_JAB, "Poison Jab", Type.POISON, MoveCategory.PHYSICAL, 80, 100, 20, "TM83", "May poison the opponent.", 30, 4 ], - [ Moves.DARK_PULSE, "Dark Pulse", Type.DARK, MoveCategory.SPECIAL, 80, 100, 15, "TM94", "May cause flinching.", 20, 4 ], - [ Moves.NIGHT_SLASH, "Night Slash", Type.DARK, MoveCategory.PHYSICAL, 70, 100, 15, "", "High critical hit ratio.", -1, 4 ], - [ Moves.AQUA_TAIL, "Aqua Tail", Type.WATER, MoveCategory.PHYSICAL, 90, 90, 10, "", "", -1, 4 ], - [ Moves.SEED_BOMB, "Seed Bomb", Type.GRASS, MoveCategory.PHYSICAL, 80, 100, 15, "TM71", "", -1, 4 ], - [ Moves.AIR_SLASH, "Air Slash", Type.FLYING, MoveCategory.SPECIAL, 75, 95, 15, "TM65", "May cause flinching.", 30, 4 ], - [ Moves.X_SCISSOR, "X-Scissor", Type.BUG, MoveCategory.PHYSICAL, 80, 100, 15, "TM105", "", -1, 4 ], - [ Moves.BUG_BUZZ, "Bug Buzz", Type.BUG, MoveCategory.SPECIAL, 90, 100, 10, "TM162", "May lower opponent's Special Defense.", 10, 4 ], - [ Moves.DRAGON_PULSE, "Dragon Pulse", Type.DRAGON, MoveCategory.SPECIAL, 85, 100, 10, "TM115", "", -1, 4 ], - [ Moves.DRAGON_RUSH, "Dragon Rush", Type.DRAGON, MoveCategory.PHYSICAL, 100, 75, 10, "", "May cause flinching.", 20, 4 ], - [ Moves.POWER_GEM, "Power Gem", Type.ROCK, MoveCategory.SPECIAL, 80, 100, 20, "TM101", "", -1, 4 ], - [ Moves.DRAIN_PUNCH, "Drain Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 10, "TM73", "User recovers half the HP inflicted on opponent.", -1, 4 ], - [ Moves.VACUUM_WAVE, "Vacuum Wave", Type.FIGHTING, MoveCategory.SPECIAL, 40, 100, 30, "", "User attacks first.", -1, 4 ], - [ Moves.FOCUS_BLAST, "Focus Blast", Type.FIGHTING, MoveCategory.SPECIAL, 120, 70, 5, "TM158", "May lower opponent's Special Defense.", 10, 4 ], - [ Moves.ENERGY_BALL, "Energy Ball", Type.GRASS, MoveCategory.SPECIAL, 90, 100, 10, "TM119", "May lower opponent's Special Defense.", 10, 4 ], - [ Moves.BRAVE_BIRD, "Brave Bird", Type.FLYING, MoveCategory.PHYSICAL, 120, 100, 15, "TM164", "User receives recoil damage.", -1, 4 ], - [ Moves.EARTH_POWER, "Earth Power", Type.GROUND, MoveCategory.SPECIAL, 90, 100, 10, "TM133", "May lower opponent's Special Defense.", 10, 4 ], - [ Moves.SWITCHEROO, "Switcheroo", Type.DARK, MoveCategory.STATUS, -1, 100, 10, "", "Swaps held items with the opponent.", -1, 4 ], - [ Moves.GIGA_IMPACT, "Giga Impact", Type.NORMAL, MoveCategory.PHYSICAL, 150, 90, 5, "TM152", "User must recharge next turn.", -1, 4 ], - [ Moves.NASTY_PLOT, "Nasty Plot", Type.DARK, MoveCategory.STATUS, -1, -1, 20, "TM140", "Sharply raises user's Special Attack.", -1, 4 ], - [ Moves.BULLET_PUNCH, "Bullet Punch", Type.STEEL, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4 ], - [ Moves.AVALANCHE, "Avalanche", Type.ICE, MoveCategory.PHYSICAL, 60, 100, 10, "TM46", "Power doubles if user took damage first.", -1, 4 ], - [ Moves.ICE_SHARD, "Ice Shard", Type.ICE, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4 ], - [ Moves.SHADOW_CLAW, "Shadow Claw", Type.GHOST, MoveCategory.PHYSICAL, 70, 100, 15, "TM61", "High critical hit ratio.", -1, 4 ], - [ Moves.THUNDER_FANG, "Thunder Fang", Type.ELECTRIC, MoveCategory.PHYSICAL, 65, 95, 15, "TM09", "May cause flinching and/or paralyze opponent.", 10, 4 ], - [ Moves.ICE_FANG, "Ice Fang", Type.ICE, MoveCategory.PHYSICAL, 65, 95, 15, "TM10", "May cause flinching and/or freeze opponent.", 10, 4 ], - [ Moves.FIRE_FANG, "Fire Fang", Type.FIRE, MoveCategory.PHYSICAL, 65, 95, 15, "TM08", "May cause flinching and/or burn opponent.", 10, 4 ], - [ Moves.SHADOW_SNEAK, "Shadow Sneak", Type.GHOST, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4 ], - [ Moves.MUD_BOMB, "Mud Bomb", Type.GROUND, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 30, 4 ], - [ Moves.PSYCHO_CUT, "Psycho Cut", Type.PSYCHIC, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio.", -1, 4 ], - [ Moves.ZEN_HEADBUTT, "Zen Headbutt", Type.PSYCHIC, MoveCategory.PHYSICAL, 80, 90, 15, "TM59", "May cause flinching.", 20, 4 ], - [ Moves.MIRROR_SHOT, "Mirror Shot", Type.STEEL, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 30, 4 ], - [ Moves.FLASH_CANNON, "Flash Cannon", Type.STEEL, MoveCategory.SPECIAL, 80, 100, 10, "TM93", "May lower opponent's Special Defense.", 10, 4 ], - [ Moves.ROCK_CLIMB, "Rock Climb", Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, "", "May confuse opponent.", 20, 4 ], - [ Moves.DEFOG, "Defog", Type.FLYING, MoveCategory.STATUS, -1, -1, 15, "", "Lowers opponent's Evasiveness and clears fog.", -1, 4 ], - [ Moves.TRICK_ROOM, "Trick Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "TM161", "Slower Pokémon move first in the turn for 5 turns.", -1, 4 ], - [ Moves.DRACO_METEOR, "Draco Meteor", Type.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, "TM169", "Sharply lowers user's Special Attack.", 100, 4 ], - [ Moves.DISCHARGE, "Discharge", Type.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 15, "", "May paralyze opponent.", 30, 4 ], - [ Moves.LAVA_PLUME, "Lava Plume", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 15, "", "May burn opponent.", 30, 4 ], - [ Moves.LEAF_STORM, "Leaf Storm", Type.GRASS, MoveCategory.SPECIAL, 130, 90, 5, "TM159", "Sharply lowers user's Special Attack.", 100, 4 ], - [ Moves.POWER_WHIP, "Power Whip", Type.GRASS, MoveCategory.PHYSICAL, 120, 85, 10, "", "", -1, 4 ], - [ Moves.ROCK_WRECKER, "Rock Wrecker", Type.ROCK, MoveCategory.PHYSICAL, 150, 90, 5, "", "User must recharge next turn.", -1, 4 ], - [ Moves.CROSS_POISON, "Cross Poison", Type.POISON, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio. May poison opponent.", 10, 4 ], - [ Moves.GUNK_SHOT, "Gunk Shot", Type.POISON, MoveCategory.PHYSICAL, 120, 80, 5, "TM102", "May poison opponent.", 30, 4 ], - [ Moves.IRON_HEAD, "Iron Head", Type.STEEL, MoveCategory.PHYSICAL, 80, 100, 15, "TM99", "May cause flinching.", 30, 4 ], - [ Moves.MAGNET_BOMB, "Magnet Bomb", Type.STEEL, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 4 ], - [ Moves.STONE_EDGE, "Stone Edge", Type.ROCK, MoveCategory.PHYSICAL, 100, 80, 5, "TM150", "High critical hit ratio.", -1, 4 ], - [ Moves.CAPTIVATE, "Captivate", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Sharply lowers opponent's Special Attack if opposite gender.", -1, 4 ], - [ Moves.STEALTH_ROCK, "Stealth Rock", Type.ROCK, MoveCategory.STATUS, -1, -1, 20, "TM116", "Damages opponent switching into battle.", -1, 4 ], - [ Moves.GRASS_KNOT, "Grass Knot", Type.GRASS, MoveCategory.SPECIAL, -1, 100, 20, "TM81", "The heavier the opponent, the stronger the attack.", -1, 4 ], - [ Moves.CHATTER, "Chatter", Type.FLYING, MoveCategory.SPECIAL, 65, 100, 20, "", "Confuses opponent.", 100, 4 ], - [ Moves.JUDGMENT, "Judgment", Type.NORMAL, MoveCategory.SPECIAL, 100, 100, 10, "", "Type depends on the Arceus Plate being held.", -1, 4 ], - [ Moves.BUG_BITE, "Bug Bite", Type.BUG, MoveCategory.PHYSICAL, 60, 100, 20, "", "Receives the effect from the opponent's held berry.", -1, 4 ], - [ Moves.CHARGE_BEAM, "Charge Beam", Type.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, "TM23", "May raise user's Special Attack.", 70, 4 ], - [ Moves.WOOD_HAMMER, "Wood Hammer", Type.GRASS, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 4 ], - [ Moves.AQUA_JET, "Aqua Jet", Type.WATER, MoveCategory.PHYSICAL, 40, 100, 20, "", "User attacks first.", -1, 4 ], - [ Moves.ATTACK_ORDER, "Attack Order", Type.BUG, MoveCategory.PHYSICAL, 90, 100, 15, "", "High critical hit ratio.", -1, 4 ], - [ Moves.DEFEND_ORDER, "Defend Order", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "Raises user's Defense and Special Defense.", -1, 4 ], - [ Moves.HEAL_ORDER, "Heal Order", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "User recovers half its max HP.", -1, 4 ], - [ Moves.HEAD_SMASH, "Head Smash", Type.ROCK, MoveCategory.PHYSICAL, 150, 80, 5, "", "User receives recoil damage.", -1, 4 ], - [ Moves.DOUBLE_HIT, "Double Hit", Type.NORMAL, MoveCategory.PHYSICAL, 35, 90, 10, "", "Hits twice in one turn.", -1, 4 ], - [ Moves.ROAR_OF_TIME, "Roar of Time", Type.DRAGON, MoveCategory.SPECIAL, 150, 90, 5, "", "User must recharge next turn.", -1, 4 ], - [ Moves.SPACIAL_REND, "Spacial Rend", Type.DRAGON, MoveCategory.SPECIAL, 100, 95, 5, "", "High critical hit ratio.", -1, 4 ], - [ Moves.LUNAR_DANCE, "Lunar Dance", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "The user faints but the next Pokémon released is fully healed.", -1, 4 ], - [ Moves.CRUSH_GRIP, "Crush Grip", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, "", "More powerful when opponent has higher HP.", -1, 4 ], - [ Moves.MAGMA_STORM, "Magma Storm", Type.FIRE, MoveCategory.SPECIAL, 100, 75, 5, "", "Traps opponent, damaging them for 4-5 turns.", 100, 4 ], - [ Moves.DARK_VOID, "Dark Void", Type.DARK, MoveCategory.STATUS, -1, 50, 10, "", "Puts all adjacent opponents to sleep.", -1, 4 ], - [ Moves.SEED_FLARE, "Seed Flare", Type.GRASS, MoveCategory.SPECIAL, 120, 85, 5, "", "May lower opponent's Special Defense.", 40, 4 ], - [ Moves.OMINOUS_WIND, "Ominous Wind", Type.GHOST, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all user's stats at once.", 10, 4 ], - [ Moves.SHADOW_FORCE, "Shadow Force", Type.GHOST, MoveCategory.PHYSICAL, 120, 100, 5, "", "Disappears on first turn, attacks on second. Can strike through Protect/Detect.", -1, 4 ], - [ Moves.HONE_CLAWS, "Hone Claws", Type.DARK, MoveCategory.STATUS, -1, -1, 15, "", "Raises user's Attack and Accuracy.", -1, 5 ], - [ Moves.WIDE_GUARD, "Wide Guard", Type.ROCK, MoveCategory.STATUS, -1, -1, 10, "", "Protects the user's team from multi-target attacks.", -1, 5 ], - [ Moves.GUARD_SPLIT, "Guard Split", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Averages Defense and Special Defense with the target.", -1, 5 ], - [ Moves.POWER_SPLIT, "Power Split", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Averages Attack and Special Attack with the target.", -1, 5 ], - [ Moves.WONDER_ROOM, "Wonder Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Swaps every Pokémon's Defense and Special Defense for 5 turns.", -1, 5 ], - [ Moves.PSYSHOCK, "Psyshock", Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, "TM54", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5 ], - [ Moves.VENOSHOCK, "Venoshock", Type.POISON, MoveCategory.SPECIAL, 65, 100, 10, "TM45", "Inflicts double damage if the target is poisoned.", -1, 5 ], - [ Moves.AUTOTOMIZE, "Autotomize", Type.STEEL, MoveCategory.STATUS, -1, -1, 15, "", "Reduces weight and sharply raises Speed.", -1, 5 ], - [ Moves.RAGE_POWDER, "Rage Powder", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Forces attacks to hit user, not team-mates.", -1, 5 ], - [ Moves.TELEKINESIS, "Telekinesis", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "Ignores opponent's Evasiveness for three turns, add Ground immunity.", -1, 5 ], - [ Moves.MAGIC_ROOM, "Magic Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Suppresses the effects of held items for five turns.", -1, 5 ], - [ Moves.SMACK_DOWN, "Smack Down", Type.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, "", "Makes Flying-type Pokémon vulnerable to Ground moves.", 100, 5 ], - [ Moves.STORM_THROW, "Storm Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Always results in a critical hit.", 100, 5 ], - [ Moves.FLAME_BURST, "Flame Burst", Type.FIRE, MoveCategory.SPECIAL, 70, 100, 15, "", "May also injure nearby Pokémon.", -1, 5 ], - [ Moves.SLUDGE_WAVE, "Sludge Wave", Type.POISON, MoveCategory.SPECIAL, 95, 100, 10, "", "May poison opponent.", 10, 5 ], - [ Moves.QUIVER_DANCE, "Quiver Dance", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Special Attack, Special Defense and Speed.", -1, 5 ], - [ Moves.HEAVY_SLAM, "Heavy Slam", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, "TM121", "The heavier the user, the stronger the attack.", -1, 5 ], - [ Moves.SYNCHRONOISE, "Synchronoise", Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, "", "Hits any Pokémon that shares a type with the user.", -1, 5 ], - [ Moves.ELECTRO_BALL, "Electro Ball", Type.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, "TM72", "The faster the user, the stronger the attack.", -1, 5 ], - [ Moves.SOAK, "Soak", Type.WATER, MoveCategory.STATUS, -1, 100, 20, "", "Changes the target's type to water.", -1, 5 ], - [ Moves.FLAME_CHARGE, "Flame Charge", Type.FIRE, MoveCategory.PHYSICAL, 50, 100, 20, "TM38", "Raises user's Speed.", 100, 5 ], - [ Moves.COIL, "Coil", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Attack, Defense and Accuracy.", -1, 5 ], - [ Moves.LOW_SWEEP, "Low Sweep", Type.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 20, "TM39", "Lowers opponent's Speed.", 100, 5 ], - [ Moves.ACID_SPRAY, "Acid Spray", Type.POISON, MoveCategory.SPECIAL, 40, 100, 20, "TM13", "Sharply lowers opponent's Special Defense.", 100, 5 ], - [ Moves.FOUL_PLAY, "Foul Play", Type.DARK, MoveCategory.PHYSICAL, 95, 100, 15, "TM62", "Uses the opponent's Attack stat.", -1, 5 ], - [ Moves.SIMPLE_BEAM, "Simple Beam", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "Changes target's ability to Simple.", -1, 5 ], - [ Moves.ENTRAINMENT, "Entrainment", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "Makes target's ability same as user's.", -1, 5 ], - [ Moves.AFTER_YOU, "After You", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Gives target priority in the next turn.", -1, 5 ], - [ Moves.ROUND, "Round", Type.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, "", "Power increases if teammates use it in the same turn.", -1, 5 ], - [ Moves.ECHOED_VOICE, "Echoed Voice", Type.NORMAL, MoveCategory.SPECIAL, 40, 100, 15, "", "Power increases each turn.", -1, 5 ], - [ Moves.CHIP_AWAY, "Chip Away", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "Ignores opponent's stat changes.", -1, 5 ], - [ Moves.CLEAR_SMOG, "Clear Smog", Type.POISON, MoveCategory.SPECIAL, 50, -1, 15, "", "Removes all of the target's stat changes.", -1, 5 ], - [ Moves.STORED_POWER, "Stored Power", Type.PSYCHIC, MoveCategory.SPECIAL, 20, 100, 10, "TM41", "Power increases when user's stats have been raised.", -1, 5 ], - [ Moves.QUICK_GUARD, "Quick Guard", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 15, "", "Protects the user's team from high-priority moves.", -1, 5 ], - [ Moves.ALLY_SWITCH, "Ally Switch", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "User switches with opposite teammate.", -1, 5 ], - [ Moves.SCALD, "Scald", Type.WATER, MoveCategory.SPECIAL, 80, 100, 15, "", "May burn opponent.", 30, 5 ], - [ Moves.SHELL_SMASH, "Shell Smash", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Sharply raises user's Attack, Special Attack and Speed but lowers Defense and Special Defense.", -1, 5 ], - [ Moves.HEAL_PULSE, "Heal Pulse", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Restores half the target's max HP.", -1, 5 ], - [ Moves.HEX, "Hex", Type.GHOST, MoveCategory.SPECIAL, 65, 100, 10, "TM29", "Inflicts more damage if the target has a status condition.", -1, 5 ], - [ Moves.SKY_DROP, "Sky Drop", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Takes opponent into the air on first turn, drops them on second turn.", -1, 5 ], - [ Moves.SHIFT_GEAR, "Shift Gear", Type.STEEL, MoveCategory.STATUS, -1, -1, 10, "", "Raises user's Attack and sharply raises Speed.", -1, 5 ], - [ Moves.CIRCLE_THROW, "Circle Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 90, 10, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 5 ], - [ Moves.INCINERATE, "Incinerate", Type.FIRE, MoveCategory.SPECIAL, 60, 100, 15, "", "Destroys the target's held berry.", -1, 5 ], - [ Moves.QUASH, "Quash", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Makes the target act last this turn.", -1, 5 ], - [ Moves.ACROBATICS, "Acrobatics", Type.FLYING, MoveCategory.PHYSICAL, 55, 100, 15, "TM14", "Stronger when the user does not have a held item.", -1, 5 ], - [ Moves.REFLECT_TYPE, "Reflect Type", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "User becomes the target's type.", -1, 5 ], - [ Moves.RETALIATE, "Retaliate", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 5, "", "Inflicts double damage if a teammate fainted on the last turn.", -1, 5 ], - [ Moves.FINAL_GAMBIT, "Final Gambit", Type.FIGHTING, MoveCategory.SPECIAL, -1, 100, 5, "", "Inflicts damage equal to the user's remaining HP. User faints.", -1, 5 ], - [ Moves.BESTOW, "Bestow", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Gives the user's held item to the target.", -1, 5 ], - [ Moves.INFERNO, "Inferno", Type.FIRE, MoveCategory.SPECIAL, 100, 50, 5, "", "Burns opponent.", 100, 5 ], - [ Moves.WATER_PLEDGE, "Water Pledge", Type.WATER, MoveCategory.SPECIAL, 80, 100, 10, "TM145", "Added effects appear if preceded by Fire Pledge or succeeded by Grass Pledge.", -1, 5 ], - [ Moves.FIRE_PLEDGE, "Fire Pledge", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 10, "TM144", "Added effects appear if combined with Grass Pledge or Water Pledge.", -1, 5 ], - [ Moves.GRASS_PLEDGE, "Grass Pledge", Type.GRASS, MoveCategory.SPECIAL, 80, 100, 10, "TM146", "Added effects appear if preceded by Water Pledge or succeeded by Fire Pledge.", -1, 5 ], - [ Moves.VOLT_SWITCH, "Volt Switch", Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, "TM48", "User must switch out after attacking.", -1, 5 ], - [ Moves.STRUGGLE_BUG, "Struggle Bug", Type.BUG, MoveCategory.SPECIAL, 50, 100, 20, "TM15", "Lowers opponent's Special Attack.", 100, 5 ], - [ Moves.BULLDOZE, "Bulldoze", Type.GROUND, MoveCategory.PHYSICAL, 60, 100, 20, "TM28", "Lowers opponent's Speed.", 100, 5 ], - [ Moves.FROST_BREATH, "Frost Breath", Type.ICE, MoveCategory.SPECIAL, 60, 90, 10, "", "Always results in a critical hit.", 100, 5 ], - [ Moves.DRAGON_TAIL, "Dragon Tail", Type.DRAGON, MoveCategory.PHYSICAL, 60, 90, 10, "TM44", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 5 ], - [ Moves.WORK_UP, "Work Up", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Attack and Special Attack.", -1, 5 ], - [ Moves.ELECTROWEB, "Electroweb", Type.ELECTRIC, MoveCategory.SPECIAL, 55, 95, 15, "", "Lowers opponent's Speed.", 100, 5 ], - [ Moves.WILD_CHARGE, "Wild Charge", Type.ELECTRIC, MoveCategory.PHYSICAL, 90, 100, 15, "TM147", "User receives recoil damage.", -1, 5 ], - [ Moves.DRILL_RUN, "Drill Run", Type.GROUND, MoveCategory.PHYSICAL, 80, 95, 10, "TM106", "High critical hit ratio.", -1, 5 ], - [ Moves.DUAL_CHOP, "Dual Chop", Type.DRAGON, MoveCategory.PHYSICAL, 40, 90, 15, "", "Hits twice in one turn.", -1, 5 ], - [ Moves.HEART_STAMP, "Heart Stamp", Type.PSYCHIC, MoveCategory.PHYSICAL, 60, 100, 25, "", "May cause flinching.", 30, 5 ], - [ Moves.HORN_LEECH, "Horn Leech", Type.GRASS, MoveCategory.PHYSICAL, 75, 100, 10, "", "User recovers half the HP inflicted on opponent.", -1, 5 ], - [ Moves.SACRED_SWORD, "Sacred Sword", Type.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 15, "", "Ignores opponent's stat changes.", -1, 5 ], - [ Moves.RAZOR_SHELL, "Razor Shell", Type.WATER, MoveCategory.PHYSICAL, 75, 95, 10, "", "May lower opponent's Defense.", 50, 5 ], - [ Moves.HEAT_CRASH, "Heat Crash", Type.FIRE, MoveCategory.PHYSICAL, -1, 100, 10, "", "The heavier the user, the stronger the attack.", -1, 5 ], - [ Moves.LEAF_TORNADO, "Leaf Tornado", Type.GRASS, MoveCategory.SPECIAL, 65, 90, 10, "", "May lower opponent's Accuracy.", 50, 5 ], - [ Moves.STEAMROLLER, "Steamroller", Type.BUG, MoveCategory.PHYSICAL, 65, 100, 20, "", "May cause flinching.", 30, 5 ], - [ Moves.COTTON_GUARD, "Cotton Guard", Type.GRASS, MoveCategory.STATUS, -1, -1, 10, "", "Drastically raises user's Defense.", -1, 5 ], - [ Moves.NIGHT_DAZE, "Night Daze", Type.DARK, MoveCategory.SPECIAL, 85, 95, 10, "", "May lower opponent's Accuracy.", 40, 5 ], - [ Moves.PSYSTRIKE, "Psystrike", Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 10, "", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5 ], - [ Moves.TAIL_SLAP, "Tail Slap", Type.NORMAL, MoveCategory.PHYSICAL, 25, 85, 10, "", "Hits 2-5 times in one turn.", -1, 5 ], - [ Moves.HURRICANE, "Hurricane", Type.FLYING, MoveCategory.SPECIAL, 110, 70, 10, "TM160", "May confuse opponent.", 30, 5 ], - [ Moves.HEAD_CHARGE, "Head Charge", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 5 ], - [ Moves.GEAR_GRIND, "Gear Grind", Type.STEEL, MoveCategory.PHYSICAL, 50, 85, 15, "", "Hits twice in one turn.", -1, 5 ], - [ Moves.SEARING_SHOT, "Searing Shot", Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, "", "May burn opponent.", 30, 5 ], - [ Moves.TECHNO_BLAST, "Techno Blast", Type.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, "", "Type depends on the Drive being held.", -1, 5 ], - [ Moves.RELIC_SONG, "Relic Song", Type.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, "", "May put the target to sleep.", 10, 5 ], - [ Moves.SECRET_SWORD, "Secret Sword", Type.FIGHTING, MoveCategory.SPECIAL, 85, 100, 10, "", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5 ], - [ Moves.GLACIATE, "Glaciate", Type.ICE, MoveCategory.SPECIAL, 65, 95, 10, "", "Lowers opponent's Speed.", 100, 5 ], - [ Moves.BOLT_STRIKE, "Bolt Strike", Type.ELECTRIC, MoveCategory.PHYSICAL, 130, 85, 5, "", "May paralyze opponent.", 20, 5 ], - [ Moves.BLUE_FLARE, "Blue Flare", Type.FIRE, MoveCategory.SPECIAL, 130, 85, 5, "", "May burn opponent.", 20, 5 ], - [ Moves.FIERY_DANCE, "Fiery Dance", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 10, "", "May raise user's Special Attack.", 50, 5 ], - [ Moves.FREEZE_SHOCK, "Freeze Shock", Type.ICE, MoveCategory.PHYSICAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May paralyze opponent.", 30, 5 ], - [ Moves.ICE_BURN, "Ice Burn", Type.ICE, MoveCategory.SPECIAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May burn opponent.", 30, 5 ], - [ Moves.SNARL, "Snarl", Type.DARK, MoveCategory.SPECIAL, 55, 95, 15, "TM30", "Lowers opponent's Special Attack.", 100, 5 ], - [ Moves.ICICLE_CRASH, "Icicle Crash", Type.ICE, MoveCategory.PHYSICAL, 85, 90, 10, "", "May cause flinching.", 30, 5 ], - [ Moves.V_CREATE, "V-create", Type.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, "", "Lowers user's Defense, Special Defense and Speed.", 100, 5 ], - [ Moves.FUSION_FLARE, "Fusion Flare", Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, "", "Power increases if Fusion Bolt is used in the same turn.", -1, 5 ], - [ Moves.FUSION_BOLT, "Fusion Bolt", Type.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 5, "", "Power increases if Fusion Flare is used in the same turn.", -1, 5 ] -].map(m => { - let i = 0; - return new Move(m[i++], m[i++], m[i++], m[i++], m[i++], m[i++], m[i++], m[i++], m[i++], m[i++], m[i++]); -}); \ No newline at end of file + new Move(Moves.POUND, "Pound", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1), + new Move(Moves.KARATE_CHOP, "Karate Chop", Type.FIGHTING, MoveCategory.PHYSICAL, 50, 100, 25, "", "High critical hit ratio.", -1, 1, new HighCritAttr()), + new Move(Moves.DOUBLE_SLAP, "Double Slap", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 10, "", "Hits 2-5 times in one turn.", -1, 1, new MultiHitAttr()), + new Move(Moves.COMET_PUNCH, "Comet Punch", Type.NORMAL, MoveCategory.PHYSICAL, 18, 85, 15, "", "Hits 2-5 times in one turn.", -1, 1, new MultiHitAttr()), + new Move(Moves.MEGA_PUNCH, "Mega Punch", Type.NORMAL, MoveCategory.PHYSICAL, 80, 85, 20, "", "", -1, 1), + new Move(Moves.PAY_DAY, "Pay Day", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 20, "", "Money is earned after the battle.", -1, 1), + new Move(Moves.FIRE_PUNCH, "Fire Punch", Type.FIRE, MoveCategory.PHYSICAL, 75, 100, 15, "TM67", "May burn opponent.", 10, 1, new StatusEffectAttr(StatusEffect.BURN)), + new Move(Moves.ICE_PUNCH, "Ice Punch", Type.ICE, MoveCategory.PHYSICAL, 75, 100, 15, "TM69", "May freeze opponent.", 10, 1, new StatusEffectAttr(StatusEffect.FREEZE)), + new Move(Moves.THUNDER_PUNCH, "Thunder Punch", Type.ELECTRIC, MoveCategory.PHYSICAL, 75, 100, 15, "TM68", "May paralyze opponent.", 10, 1, new StatusEffectAttr(StatusEffect.PARALYSIS)), + new Move(Moves.SCRATCH, "Scratch", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1), + new Move(Moves.VISE_GRIP, "Vise Grip", Type.NORMAL, MoveCategory.PHYSICAL, 55, 100, 30, "", "", -1, 1), + new Move(Moves.GUILLOTINE, "Guillotine", Type.NORMAL, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1, new OneHitKOAttr()), + new Move(Moves.RAZOR_WIND, "Razor Wind", Type.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, "", "Charges on first turn, attacks on second. High critical hit ratio.", -1, 1, new ChargeAttr(), new HighCritAttr()), + new Move(Moves.SWORDS_DANCE, "Swords Dance", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "TM88", "Sharply raises user's Attack.", -1, 1), + new Move(Moves.CUT, "Cut", Type.NORMAL, MoveCategory.PHYSICAL, 50, 95, 30, "", "", -1, 1), + new Move(Moves.GUST, "Gust", Type.FLYING, MoveCategory.SPECIAL, 40, 100, 35, "", "Hits Pokémon using Fly/Bounce/Sky Drop with double power.", -1, 1), + new Move(Moves.WING_ATTACK, "Wing Attack", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 35, "", "", -1, 1), + new Move(Moves.WHIRLWIND, "Whirlwind", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 1), + new Move(Moves.FLY, "Fly", Type.FLYING, MoveCategory.PHYSICAL, 90, 95, 15, "TM97", "Flies up on first turn, attacks on second turn.", -1, 1), + new Move(Moves.BIND, "Bind", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1), + new Move(Moves.SLAM, "Slam", Type.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, "", "", -1, 1), + new Move(Moves.VINE_WHIP, "Vine Whip", Type.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, "", "", -1, 1), + new Move(Moves.STOMP, "Stomp", Type.NORMAL, MoveCategory.PHYSICAL, 65, 100, 20, "", "May cause flinching.", 30, 1), + new Move(Moves.DOUBLE_KICK, "Double Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 30, 100, 30, "", "Hits twice in one turn.", -1, 1), + new Move(Moves.MEGA_KICK, "Mega Kick", Type.NORMAL, MoveCategory.PHYSICAL, 120, 75, 5, "", "", -1, 1), + new Move(Moves.JUMP_KICK, "Jump Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, "", "If it misses, the user loses half their HP.", -1, 1), + new Move(Moves.ROLLING_KICK, "Rolling Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 85, 15, "", "May cause flinching.", 30, 1), + new Move(Moves.SAND_ATTACK, "Sand Attack", Type.GROUND, MoveCategory.STATUS, -1, 100, 15, "", "Lowers opponent's Accuracy.", -1, 1), + new Move(Moves.HEADBUTT, "Headbutt", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 15, "", "May cause flinching.", 30, 1), + new Move(Moves.HORN_ATTACK, "Horn Attack", Type.NORMAL, MoveCategory.PHYSICAL, 65, 100, 25, "", "", -1, 1), + new Move(Moves.FURY_ATTACK, "Fury Attack", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Hits 2-5 times in one turn.", -1, 1), + new Move(Moves.HORN_DRILL, "Horn Drill", Type.NORMAL, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1), + new Move(Moves.TACKLE, "Tackle", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 35, "", "", -1, 1), + new Move(Moves.BODY_SLAM, "Body Slam", Type.NORMAL, MoveCategory.PHYSICAL, 85, 100, 15, "TM66", "May paralyze opponent.", 30, 1), + new Move(Moves.WRAP, "Wrap", Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1), + new Move(Moves.TAKE_DOWN, "Take Down", Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, "TM01", "User receives recoil damage.", -1, 1), + new Move(Moves.THRASH, "Thrash", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, "", "User attacks for 2-3 turns but then becomes confused.", -1, 1), + new Move(Moves.DOUBLE_EDGE, "Double-Edge", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 1), + new Move(Moves.TAIL_WHIP, "Tail Whip", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Lowers opponent's Defense.", -1, 1), + new Move(Moves.POISON_STING, "Poison Sting", Type.POISON, MoveCategory.PHYSICAL, 15, 100, 35, "", "May poison the opponent.", 30, 1), + new Move(Moves.TWINEEDLE, "Twineedle", Type.BUG, MoveCategory.PHYSICAL, 25, 100, 20, "", "Hits twice in one turn. May poison opponent.", 20, 1), + new Move(Moves.PIN_MISSILE, "Pin Missile", Type.BUG, MoveCategory.PHYSICAL, 25, 95, 20, "", "Hits 2-5 times in one turn.", -1, 1), + new Move(Moves.LEER, "Leer", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Lowers opponent's Defense.", 100, 1), + new Move(Moves.BITE, "Bite", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 25, "", "May cause flinching.", 30, 1), + new Move(Moves.GROWL, "Growl", Type.NORMAL, MoveCategory.STATUS, -1, 100, 40, "", "Lowers opponent's Attack.", -1, 1), + new Move(Moves.ROAR, "Roar", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 1), + new Move(Moves.SING, "Sing", Type.NORMAL, MoveCategory.STATUS, -1, 55, 15, "", "Puts opponent to sleep.", -1, 1), + new Move(Moves.SUPERSONIC, "Supersonic", Type.NORMAL, MoveCategory.STATUS, -1, 55, 20, "", "Confuses opponent.", -1, 1), + new Move(Moves.SONIC_BOOM, "Sonic Boom", Type.NORMAL, MoveCategory.SPECIAL, -1, 90, 20, "", "Always inflicts 20 HP.", -1, 1), + new Move(Moves.DISABLE, "Disable", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Opponent can't use its last attack for a few turns.", -1, 1), + new Move(Moves.ACID, "Acid", Type.POISON, MoveCategory.SPECIAL, 40, 100, 30, "", "May lower opponent's Special Defense.", 10, 1), + new Move(Moves.EMBER, "Ember", Type.FIRE, MoveCategory.SPECIAL, 40, 100, 25, "", "May burn opponent.", 10, 1), + new Move(Moves.FLAMETHROWER, "Flamethrower", Type.FIRE, MoveCategory.SPECIAL, 90, 100, 15, "TM125", "May burn opponent.", 10, 1), + new Move(Moves.MIST, "Mist", Type.ICE, MoveCategory.STATUS, -1, -1, 30, "", "User's stats cannot be changed for a period of time.", -1, 1), + new Move(Moves.WATER_GUN, "Water Gun", Type.WATER, MoveCategory.SPECIAL, 40, 100, 25, "", "", -1, 1), + new Move(Moves.HYDRO_PUMP, "Hydro Pump", Type.WATER, MoveCategory.SPECIAL, 110, 80, 5, "TM142", "", -1, 1), + new Move(Moves.SURF, "Surf", Type.WATER, MoveCategory.SPECIAL, 90, 100, 15, "TM123", "Hits all adjacent Pokémon.", -1, 1), + new Move(Moves.ICE_BEAM, "Ice Beam", Type.ICE, MoveCategory.SPECIAL, 90, 100, 10, "TM135", "May freeze opponent.", 10, 1), + new Move(Moves.BLIZZARD, "Blizzard", Type.ICE, MoveCategory.SPECIAL, 110, 70, 5, "TM143", "May freeze opponent.", 10, 1), + new Move(Moves.PSYBEAM, "Psybeam", Type.PSYCHIC, MoveCategory.SPECIAL, 65, 100, 20, "TM16", "May confuse opponent.", 10, 1), + new Move(Moves.BUBBLE_BEAM, "Bubble Beam", Type.WATER, MoveCategory.SPECIAL, 65, 100, 20, "", "May lower opponent's Speed.", 10, 1), + new Move(Moves.AURORA_BEAM, "Aurora Beam", Type.ICE, MoveCategory.SPECIAL, 65, 100, 20, "", "May lower opponent's Attack.", 10, 1), + new Move(Moves.HYPER_BEAM, "Hyper Beam", Type.NORMAL, MoveCategory.SPECIAL, 150, 90, 5, "TM163", "User must recharge next turn.", -1, 1), + new Move(Moves.PECK, "Peck", Type.FLYING, MoveCategory.PHYSICAL, 35, 100, 35, "", "", -1, 1), + new Move(Moves.DRILL_PECK, "Drill Peck", Type.FLYING, MoveCategory.PHYSICAL, 80, 100, 20, "", "", -1, 1), + new Move(Moves.SUBMISSION, "Submission", Type.FIGHTING, MoveCategory.PHYSICAL, 80, 80, 20, "", "User receives recoil damage.", -1, 1), + new Move(Moves.LOW_KICK, "Low Kick", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "TM12", "The heavier the opponent, the stronger the attack.", -1, 1), + new Move(Moves.COUNTER, "Counter", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "", "When hit by a Physical Attack, user strikes back with 2x power.", -1, 1), + new Move(Moves.SEISMIC_TOSS, "Seismic Toss", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, "", "Inflicts damage equal to user's level.", -1, 1), + new Move(Moves.STRENGTH, "Strength", Type.NORMAL, MoveCategory.PHYSICAL, 80, 100, 15, "", "", -1, 1), + new Move(Moves.ABSORB, "Absorb", Type.GRASS, MoveCategory.SPECIAL, 20, 100, 25, "", "User recovers half the HP inflicted on opponent.", -1, 1), + new Move(Moves.MEGA_DRAIN, "Mega Drain", Type.GRASS, MoveCategory.SPECIAL, 40, 100, 15, "", "User recovers half the HP inflicted on opponent.", -1, 1), + new Move(Moves.LEECH_SEED, "Leech Seed", Type.GRASS, MoveCategory.STATUS, -1, 90, 10, "", "Drains HP from opponent each turn.", -1, 1), + new Move(Moves.GROWTH, "Growth", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Attack and Special Attack.", -1, 1), + new Move(Moves.RAZOR_LEAF, "Razor Leaf", Type.GRASS, MoveCategory.PHYSICAL, 55, 95, 25, "", "High critical hit ratio.", -1, 1), + new Move(Moves.SOLAR_BEAM, "Solar Beam", Type.GRASS, MoveCategory.SPECIAL, 120, 100, 10, "TM168", "Charges on first turn, attacks on second.", -1, 1), + new Move(Moves.POISON_POWDER, "Poison Powder", Type.POISON, MoveCategory.STATUS, -1, 75, 35, "", "Poisons opponent.", -1, 1), + new Move(Moves.STUN_SPORE, "Stun Spore", Type.GRASS, MoveCategory.STATUS, -1, 75, 30, "", "Paralyzes opponent.", -1, 1), + new Move(Moves.SLEEP_POWDER, "Sleep Powder", Type.GRASS, MoveCategory.STATUS, -1, 75, 15, "", "Puts opponent to sleep.", -1, 1), + new Move(Moves.PETAL_DANCE, "Petal Dance", Type.GRASS, MoveCategory.SPECIAL, 120, 100, 10, "", "User attacks for 2-3 turns but then becomes confused.", -1, 1), + new Move(Moves.STRING_SHOT, "String Shot", Type.BUG, MoveCategory.STATUS, -1, 95, 40, "", "Sharply lowers opponent's Speed.", -1, 1), + new Move(Moves.DRAGON_RAGE, "Dragon Rage", Type.DRAGON, MoveCategory.SPECIAL, -1, 100, 10, "", "Always inflicts 40 HP.", -1, 1), + new Move(Moves.FIRE_SPIN, "Fire Spin", Type.FIRE, MoveCategory.SPECIAL, 35, 85, 15, "TM24", "Traps opponent, damaging them for 4-5 turns.", 100, 1), + new Move(Moves.THUNDER_SHOCK, "Thunder Shock", Type.ELECTRIC, MoveCategory.SPECIAL, 40, 100, 30, "", "May paralyze opponent.", 10, 1), + new Move(Moves.THUNDERBOLT, "Thunderbolt", Type.ELECTRIC, MoveCategory.SPECIAL, 90, 100, 15, "TM126", "May paralyze opponent.", 10, 1), + new Move(Moves.THUNDER_WAVE, "Thunder Wave", Type.ELECTRIC, MoveCategory.STATUS, -1, 90, 20, "TM82", "Paralyzes opponent.", -1, 1), + new Move(Moves.THUNDER, "Thunder", Type.ELECTRIC, MoveCategory.SPECIAL, 110, 70, 10, "TM166", "May paralyze opponent.", 30, 1), + new Move(Moves.ROCK_THROW, "Rock Throw", Type.ROCK, MoveCategory.PHYSICAL, 50, 90, 15, "", "", -1, 1), + new Move(Moves.EARTHQUAKE, "Earthquake", Type.GROUND, MoveCategory.PHYSICAL, 100, 100, 10, "TM149", "Power is doubled if opponent is underground from using Dig.", -1, 1), + new Move(Moves.FISSURE, "Fissure", Type.GROUND, MoveCategory.PHYSICAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 1), + new Move(Moves.DIG, "Dig", Type.GROUND, MoveCategory.PHYSICAL, 80, 100, 10, "TM55", "Digs underground on first turn, attacks on second. Can also escape from caves.", -1, 1), + new Move(Moves.TOXIC, "Toxic", Type.POISON, MoveCategory.STATUS, -1, 90, 10, "", "Badly poisons opponent.", -1, 1), + new Move(Moves.CONFUSION, "Confusion", Type.PSYCHIC, MoveCategory.SPECIAL, 50, 100, 25, "", "May confuse opponent.", 10, 1), + new Move(Moves.PSYCHIC, "Psychic", Type.PSYCHIC, MoveCategory.SPECIAL, 90, 100, 10, "TM120", "May lower opponent's Special Defense.", 10, 1), + new Move(Moves.HYPNOSIS, "Hypnosis", Type.PSYCHIC, MoveCategory.STATUS, -1, 60, 20, "", "Puts opponent to sleep.", -1, 1), + new Move(Moves.MEDITATE, "Meditate", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Attack.", -1, 1), + new Move(Moves.AGILITY, "Agility", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 30, "TM04", "Sharply raises user's Speed.", -1, 1), + new Move(Moves.QUICK_ATTACK, "Quick Attack", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 1), + new Move(Moves.RAGE, "Rage", Type.NORMAL, MoveCategory.PHYSICAL, 20, 100, 20, "", "Raises user's Attack when hit.", -1, 1), + new Move(Moves.TELEPORT, "Teleport", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Allows user to flee wild battles; also warps player to last PokéCenter.", -1, 1), + new Move(Moves.NIGHT_SHADE, "Night Shade", Type.GHOST, MoveCategory.SPECIAL, -1, 100, 15, "TM42", "Inflicts damage equal to user's level.", -1, 1), + new Move(Moves.MIMIC, "Mimic", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Copies the opponent's last move.", -1, 1), + new Move(Moves.SCREECH, "Screech", Type.NORMAL, MoveCategory.STATUS, -1, 85, 40, "", "Sharply lowers opponent's Defense.", -1, 1), + new Move(Moves.DOUBLE_TEAM, "Double Team", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Raises user's Evasiveness.", -1, 1), + new Move(Moves.RECOVER, "Recover", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 1), + new Move(Moves.HARDEN, "Harden", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Defense.", -1, 1), + new Move(Moves.MINIMIZE, "Minimize", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Sharply raises user's Evasiveness.", -1, 1), + new Move(Moves.SMOKESCREEN, "Smokescreen", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Accuracy.", -1, 1), + new Move(Moves.CONFUSE_RAY, "Confuse Ray", Type.GHOST, MoveCategory.STATUS, -1, 100, 10, "TM17", "Confuses opponent.", -1, 1), + new Move(Moves.WITHDRAW, "Withdraw", Type.WATER, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Defense.", -1, 1), + new Move(Moves.DEFENSE_CURL, "Defense Curl", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Raises user's Defense.", -1, 1), + new Move(Moves.BARRIER, "Barrier", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Defense.", -1, 1), + new Move(Moves.LIGHT_SCREEN, "Light Screen", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 30, "TM75", "Halves damage from Special attacks for 5 turns.", -1, 1), + new Move(Moves.HAZE, "Haze", Type.ICE, MoveCategory.STATUS, -1, -1, 30, "", "Resets all stat changes.", -1, 1), + new Move(Moves.REFLECT, "Reflect", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM74", "Halves damage from Physical attacks for 5 turns.", -1, 1), + new Move(Moves.FOCUS_ENERGY, "Focus Energy", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Increases critical hit ratio.", -1, 1), + new Move(Moves.BIDE, "Bide", Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 10, "", "User takes damage for two turns then strikes back double.", -1, 1), + new Move(Moves.METRONOME, "Metronome", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM80", "User performs almost any move in the game at random.", -1, 1), + new Move(Moves.MIRROR_MOVE, "Mirror Move", Type.FLYING, MoveCategory.STATUS, -1, -1, 20, "", "User performs the opponent's last move.", -1, 1), + new Move(Moves.SELF_DESTRUCT, "Self-Destruct", Type.NORMAL, MoveCategory.PHYSICAL, 200, 100, 5, "", "User faints.", -1, 1), + new Move(Moves.EGG_BOMB, "Egg Bomb", Type.NORMAL, MoveCategory.PHYSICAL, 100, 75, 10, "", "", -1, 1), + new Move(Moves.LICK, "Lick", Type.GHOST, MoveCategory.PHYSICAL, 30, 100, 30, "", "May paralyze opponent.", 30, 1), + new Move(Moves.SMOG, "Smog", Type.POISON, MoveCategory.SPECIAL, 30, 70, 20, "", "May poison opponent.", 40, 1), + new Move(Moves.SLUDGE, "Sludge", Type.POISON, MoveCategory.SPECIAL, 65, 100, 20, "", "May poison opponent.", 30, 1), + new Move(Moves.BONE_CLUB, "Bone Club", Type.GROUND, MoveCategory.PHYSICAL, 65, 85, 20, "", "May cause flinching.", 10, 1), + new Move(Moves.FIRE_BLAST, "Fire Blast", Type.FIRE, MoveCategory.SPECIAL, 110, 85, 5, "TM141", "May burn opponent.", 10, 1), + new Move(Moves.WATERFALL, "Waterfall", Type.WATER, MoveCategory.PHYSICAL, 80, 100, 15, "TM77", "May cause flinching.", 20, 1), + new Move(Moves.CLAMP, "Clamp", Type.WATER, MoveCategory.PHYSICAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 1), + new Move(Moves.SWIFT, "Swift", Type.NORMAL, MoveCategory.SPECIAL, 60, 999, 20, "TM32", "Ignores Accuracy and Evasiveness.", -1, 1), + new Move(Moves.SKULL_BASH, "Skull Bash", Type.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, "", "Raises Defense on first turn, attacks on second.", 100, 1), + new Move(Moves.SPIKE_CANNON, "Spike Cannon", Type.NORMAL, MoveCategory.PHYSICAL, 20, 100, 15, "", "Hits 2-5 times in one turn.", -1, 1), + new Move(Moves.CONSTRICT, "Constrict", Type.NORMAL, MoveCategory.PHYSICAL, 10, 100, 35, "", "May lower opponent's Speed by one stage.", 10, 1), + new Move(Moves.AMNESIA, "Amnesia", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM128", "Sharply raises user's Special Defense.", -1, 1), + new Move(Moves.KINESIS, "Kinesis", Type.PSYCHIC, MoveCategory.STATUS, -1, 80, 15, "", "Lowers opponent's Accuracy.", -1, 1), + new Move(Moves.SOFT_BOILED, "Soft-Boiled", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 1), + new Move(Moves.HIGH_JUMP_KICK, "High Jump Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 130, 90, 10, "", "If it misses, the user loses half their HP.", -1, 1), + new Move(Moves.GLARE, "Glare", Type.NORMAL, MoveCategory.STATUS, -1, 100, 30, "", "Paralyzes opponent.", -1, 1), + new Move(Moves.DREAM_EATER, "Dream Eater", Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, "", "User recovers half the HP inflicted on a sleeping opponent.", -1, 1), + new Move(Moves.POISON_GAS, "Poison Gas", Type.POISON, MoveCategory.STATUS, -1, 90, 40, "", "Poisons opponent.", -1, 1), + new Move(Moves.BARRAGE, "Barrage", Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, "", "Hits 2-5 times in one turn.", -1, 1), + new Move(Moves.LEECH_LIFE, "Leech Life", Type.BUG, MoveCategory.PHYSICAL, 80, 100, 10, "TM95", "User recovers half the HP inflicted on opponent.", -1, 1), + new Move(Moves.LOVELY_KISS, "Lovely Kiss", Type.NORMAL, MoveCategory.STATUS, -1, 75, 10, "", "Puts opponent to sleep.", -1, 1), + new Move(Moves.SKY_ATTACK, "Sky Attack", Type.FLYING, MoveCategory.PHYSICAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May cause flinching. High critical hit ratio.", 30, 1), + new Move(Moves.TRANSFORM, "Transform", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User takes on the form and attacks of the opponent.", -1, 1), + new Move(Moves.BUBBLE, "Bubble", Type.WATER, MoveCategory.SPECIAL, 40, 100, 30, "", "May lower opponent's Speed.", 10, 1), + new Move(Moves.DIZZY_PUNCH, "Dizzy Punch", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, "", "May confuse opponent.", 20, 1), + new Move(Moves.SPORE, "Spore", Type.GRASS, MoveCategory.STATUS, -1, 100, 15, "", "Puts opponent to sleep.", -1, 1), + new Move(Moves.FLASH, "Flash", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Accuracy.", -1, 1), + new Move(Moves.PSYWAVE, "Psywave", Type.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 15, "", "Inflicts damage 50-150% of user's level.", -1, 1), + new Move(Moves.SPLASH, "Splash", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Doesn't do ANYTHING.", -1, 1), + new Move(Moves.ACID_ARMOR, "Acid Armor", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Defense.", -1, 1), + new Move(Moves.CRABHAMMER, "Crabhammer", Type.WATER, MoveCategory.PHYSICAL, 100, 90, 10, "", "High critical hit ratio.", -1, 1), + new Move(Moves.EXPLOSION, "Explosion", Type.NORMAL, MoveCategory.PHYSICAL, 250, 100, 5, "", "User faints.", -1, 1), + new Move(Moves.FURY_SWIPES, "Fury Swipes", Type.NORMAL, MoveCategory.PHYSICAL, 18, 80, 15, "", "Hits 2-5 times in one turn.", -1, 1), + new Move(Moves.BONEMERANG, "Bonemerang", Type.GROUND, MoveCategory.PHYSICAL, 50, 90, 10, "", "Hits twice in one turn.", -1, 1), + new Move(Moves.REST, "Rest", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "TM85", "User sleeps for 2 turns, but user is fully healed.", -1, 1), + new Move(Moves.ROCK_SLIDE, "Rock Slide", Type.ROCK, MoveCategory.PHYSICAL, 75, 90, 10, "TM86", "May cause flinching.", 30, 1), + new Move(Moves.HYPER_FANG, "Hyper Fang", Type.NORMAL, MoveCategory.PHYSICAL, 80, 90, 15, "", "May cause flinching.", 10, 1), + new Move(Moves.SHARPEN, "Sharpen", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Attack.", -1, 1), + new Move(Moves.CONVERSION, "Conversion", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Changes user's type to that of its first move.", -1, 1), + new Move(Moves.TRI_ATTACK, "Tri Attack", Type.NORMAL, MoveCategory.SPECIAL, 80, 100, 10, "", "May paralyze, burn or freeze opponent.", 20, 1), + new Move(Moves.SUPER_FANG, "Super Fang", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 10, "", "Always takes off half of the opponent's HP.", -1, 1), + new Move(Moves.SLASH, "Slash", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio.", -1, 1), + new Move(Moves.SUBSTITUTE, "Substitute", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM103", "Uses HP to creates a decoy that takes hits.", -1, 1), + new Move(Moves.STRUGGLE, "Struggle", Type.NORMAL, MoveCategory.PHYSICAL, 50, -1, -1, "", "Only usable when all PP are gone. Hurts the user.", -1, 1), + new Move(Moves.SKETCH, "Sketch", Type.NORMAL, MoveCategory.STATUS, -1, -1, 1, "", "Permanently copies the opponent's last move.", -1, 2), + new Move(Moves.TRIPLE_KICK, "Triple Kick", Type.FIGHTING, MoveCategory.PHYSICAL, 10, 90, 10, "", "Hits thrice in one turn at increasing power.", -1, 2), + new Move(Moves.THIEF, "Thief", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 25, "TM18", "Also steals opponent's held item.", -1, 2), + new Move(Moves.SPIDER_WEB, "Spider Web", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "Opponent cannot escape/switch.", -1, 2), + new Move(Moves.MIND_READER, "Mind Reader", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User's next attack is guaranteed to hit.", -1, 2), + new Move(Moves.NIGHTMARE, "Nightmare", Type.GHOST, MoveCategory.STATUS, -1, 100, 15, "", "The sleeping opponent loses 25% of its max HP each turn.", -1, 2), + new Move(Moves.FLAME_WHEEL, "Flame Wheel", Type.FIRE, MoveCategory.PHYSICAL, 60, 100, 25, "", "May burn opponent.", 10, 2), + new Move(Moves.SNORE, "Snore", Type.NORMAL, MoveCategory.SPECIAL, 50, 100, 15, "", "Can only be used if asleep. May cause flinching.", 30, 2), + new Move(Moves.CURSE, "Curse", Type.GHOST, MoveCategory.STATUS, -1, -1, 10, "", "Ghosts lose 50% of max HP and curse the opponent; Non-Ghosts raise Attack, Defense and lower Speed.", -1, 2), + new Move(Moves.FLAIL, "Flail", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, "", "The lower the user's HP, the higher the power.", -1, 2), + new Move(Moves.CONVERSION_2, "Conversion 2", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "User changes type to become resistant to opponent's last move.", -1, 2), + new Move(Moves.AEROBLAST, "Aeroblast", Type.FLYING, MoveCategory.SPECIAL, 100, 95, 5, "", "High critical hit ratio.", -1, 2), + new Move(Moves.COTTON_SPORE, "Cotton Spore", Type.GRASS, MoveCategory.STATUS, -1, 100, 40, "", "Sharply lowers opponent's Speed.", -1, 2), + new Move(Moves.REVERSAL, "Reversal", Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 15, "TM134", "The lower the user's HP, the higher the power.", -1, 2), + new Move(Moves.SPITE, "Spite", Type.GHOST, MoveCategory.STATUS, -1, 100, 10, "", "The opponent's last move loses 2-5 PP.", -1, 2), + new Move(Moves.POWDER_SNOW, "Powder Snow", Type.ICE, MoveCategory.SPECIAL, 40, 100, 25, "", "May freeze opponent.", 10, 2), + new Move(Moves.PROTECT, "Protect", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM07", "Protects the user, but may fail if used consecutively.", -1, 2), + new Move(Moves.MACH_PUNCH, "Mach Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 2), + new Move(Moves.SCARY_FACE, "Scary Face", Type.NORMAL, MoveCategory.STATUS, -1, 100, 10, "TM06", "Sharply lowers opponent's Speed.", -1, 2), + new Move(Moves.FEINT_ATTACK, "Feint Attack", Type.DARK, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 2), + new Move(Moves.SWEET_KISS, "Sweet Kiss", Type.FAIRY, MoveCategory.STATUS, -1, 75, 10, "", "Confuses opponent.", -1, 2), + new Move(Moves.BELLY_DRUM, "Belly Drum", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User loses 50% of its max HP, but Attack raises to maximum.", -1, 2), + new Move(Moves.SLUDGE_BOMB, "Sludge Bomb", Type.POISON, MoveCategory.SPECIAL, 90, 100, 10, "TM148", "May poison opponent.", 30, 2), + new Move(Moves.MUD_SLAP, "Mud-Slap", Type.GROUND, MoveCategory.SPECIAL, 20, 100, 10, "TM05", "Lowers opponent's Accuracy.", 100, 2), + new Move(Moves.OCTAZOOKA, "Octazooka", Type.WATER, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 50, 2), + new Move(Moves.SPIKES, "Spikes", Type.GROUND, MoveCategory.STATUS, -1, -1, 20, "TM90", "Hurts opponents when they switch into battle.", -1, 2), + new Move(Moves.ZAP_CANNON, "Zap Cannon", Type.ELECTRIC, MoveCategory.SPECIAL, 120, 50, 5, "", "Paralyzes opponent.", 100, 2), + new Move(Moves.FORESIGHT, "Foresight", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, and allows Normal- and Fighting-type attacks to hit Ghosts.", -1, 2), + new Move(Moves.DESTINY_BOND, "Destiny Bond", Type.GHOST, MoveCategory.STATUS, -1, -1, 5, "", "If the user faints, the opponent also faints.", -1, 2), + new Move(Moves.PERISH_SONG, "Perish Song", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Any Pokémon in play when this attack is used faints in 3 turns.", -1, 2), + new Move(Moves.ICY_WIND, "Icy Wind", Type.ICE, MoveCategory.SPECIAL, 55, 95, 15, "TM34", "Lowers opponent's Speed.", 100, 2), + new Move(Moves.DETECT, "Detect", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 5, "", "Protects the user, but may fail if used consecutively.", -1, 2), + new Move(Moves.BONE_RUSH, "Bone Rush", Type.GROUND, MoveCategory.PHYSICAL, 25, 90, 10, "", "Hits 2-5 times in one turn.", -1, 2), + new Move(Moves.LOCK_ON, "Lock-On", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User's next attack is guaranteed to hit.", -1, 2), + new Move(Moves.OUTRAGE, "Outrage", Type.DRAGON, MoveCategory.PHYSICAL, 120, 100, 10, "TM156", "User attacks for 2-3 turns but then becomes confused.", -1, 2), + new Move(Moves.SANDSTORM, "Sandstorm", Type.ROCK, MoveCategory.STATUS, -1, -1, 10, "TM51", "Creates a sandstorm for 5 turns.", -1, 2), + new Move(Moves.GIGA_DRAIN, "Giga Drain", Type.GRASS, MoveCategory.SPECIAL, 75, 100, 10, "TM111", "User recovers half the HP inflicted on opponent.", -1, 2), + new Move(Moves.ENDURE, "Endure", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM47", "Always left with at least 1 HP, but may fail if used consecutively.", -1, 2), + new Move(Moves.CHARM, "Charm", Type.FAIRY, MoveCategory.STATUS, -1, 100, 20, "TM02", "Sharply lowers opponent's Attack.", -1, 2), + new Move(Moves.ROLLOUT, "Rollout", Type.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, "", "Doubles in power each turn for 5 turns.", -1, 2), + new Move(Moves.FALSE_SWIPE, "False Swipe", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, "TM57", "Always leaves opponent with at least 1 HP.", -1, 2), + new Move(Moves.SWAGGER, "Swagger", Type.NORMAL, MoveCategory.STATUS, -1, 85, 15, "", "Confuses opponent, but sharply raises its Attack.", -1, 2), + new Move(Moves.MILK_DRINK, "Milk Drink", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 2), + new Move(Moves.SPARK, "Spark", Type.ELECTRIC, MoveCategory.PHYSICAL, 65, 100, 20, "", "May paralyze opponent.", 30, 2), + new Move(Moves.FURY_CUTTER, "Fury Cutter", Type.BUG, MoveCategory.PHYSICAL, 40, 95, 20, "", "Power increases each turn.", -1, 2), + new Move(Moves.STEEL_WING, "Steel Wing", Type.STEEL, MoveCategory.PHYSICAL, 70, 90, 25, "", "May raise user's Defense.", 10, 2), + new Move(Moves.MEAN_LOOK, "Mean Look", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Opponent cannot flee or switch.", -1, 2), + new Move(Moves.ATTRACT, "Attract", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "If opponent is the opposite gender, it's less likely to attack.", -1, 2), + new Move(Moves.SLEEP_TALK, "Sleep Talk", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "TM70", "User performs one of its own moves while sleeping.", -1, 2), + new Move(Moves.HEAL_BELL, "Heal Bell", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Heals the user's party's status conditions.", -1, 2), + new Move(Moves.RETURN, "Return", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, "", "Power increases with higher Friendship.", -1, 2), + new Move(Moves.PRESENT, "Present", Type.NORMAL, MoveCategory.PHYSICAL, -1, 90, 15, "", "Either deals damage or heals.", -1, 2), + new Move(Moves.FRUSTRATION, "Frustration", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 20, "", "Power decreases with higher Friendship.", -1, 2), + new Move(Moves.SAFEGUARD, "Safeguard", Type.NORMAL, MoveCategory.STATUS, -1, -1, 25, "", "The user's party is protected from status conditions.", -1, 2), + new Move(Moves.PAIN_SPLIT, "Pain Split", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "The user's and opponent's HP becomes the average of both.", -1, 2), + new Move(Moves.SACRED_FIRE, "Sacred Fire", Type.FIRE, MoveCategory.PHYSICAL, 100, 95, 5, "", "May burn opponent.", 50, 2), + new Move(Moves.MAGNITUDE, "Magnitude", Type.GROUND, MoveCategory.PHYSICAL, -1, 100, 30, "", "Hits with random power.", -1, 2), + new Move(Moves.DYNAMIC_PUNCH, "Dynamic Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 50, 5, "", "Confuses opponent.", 100, 2), + new Move(Moves.MEGAHORN, "Megahorn", Type.BUG, MoveCategory.PHYSICAL, 120, 85, 10, "", "", -1, 2), + new Move(Moves.DRAGON_BREATH, "Dragon Breath", Type.DRAGON, MoveCategory.SPECIAL, 60, 100, 20, "", "May paralyze opponent.", 30, 2), + new Move(Moves.BATON_PASS, "Baton Pass", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "TM132", "User switches out and gives stat changes to the incoming Pokémon.", -1, 2), + new Move(Moves.ENCORE, "Encore", Type.NORMAL, MoveCategory.STATUS, -1, 100, 5, "TM122", "Forces opponent to keep using its last move for 3 turns.", -1, 2), + new Move(Moves.PURSUIT, "Pursuit", Type.DARK, MoveCategory.PHYSICAL, 40, 100, 20, "", "Double power if the opponent is switching out.", -1, 2), + new Move(Moves.RAPID_SPIN, "Rapid Spin", Type.NORMAL, MoveCategory.PHYSICAL, 50, 100, 40, "", "Raises user's Speed and removes entry hazards and trap move effects.", 100, 2), + new Move(Moves.SWEET_SCENT, "Sweet Scent", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Evasiveness.", -1, 2), + new Move(Moves.IRON_TAIL, "Iron Tail", Type.STEEL, MoveCategory.PHYSICAL, 100, 75, 15, "", "May lower opponent's Defense.", 30, 2), + new Move(Moves.METAL_CLAW, "Metal Claw", Type.STEEL, MoveCategory.PHYSICAL, 50, 95, 35, "TM31", "May raise user's Attack.", 10, 2), + new Move(Moves.VITAL_THROW, "Vital Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 70, 999, 10, "", "User attacks last, but ignores Accuracy and Evasiveness.", -1, 2), + new Move(Moves.MORNING_SUN, "Morning Sun", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2), + new Move(Moves.SYNTHESIS, "Synthesis", Type.GRASS, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2), + new Move(Moves.MOONLIGHT, "Moonlight", Type.FAIRY, MoveCategory.STATUS, -1, -1, 5, "", "User recovers HP. Amount varies with the weather.", -1, 2), + new Move(Moves.HIDDEN_POWER, "Hidden Power", Type.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, "", "Type and power depends on user's IVs.", -1, 2), + new Move(Moves.CROSS_CHOP, "Cross Chop", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 80, 5, "", "High critical hit ratio.", -1, 2), + new Move(Moves.TWISTER, "Twister", Type.DRAGON, MoveCategory.SPECIAL, 40, 100, 20, "", "May cause flinching. Hits Pokémon using Fly/Bounce with double power.", 20, 2), + new Move(Moves.RAIN_DANCE, "Rain Dance", Type.WATER, MoveCategory.STATUS, -1, -1, 5, "TM50", "Makes it rain for 5 turns.", -1, 2), + new Move(Moves.SUNNY_DAY, "Sunny Day", Type.FIRE, MoveCategory.STATUS, -1, -1, 5, "TM49", "Makes it sunny for 5 turns.", -1, 2), + new Move(Moves.CRUNCH, "Crunch", Type.DARK, MoveCategory.PHYSICAL, 80, 100, 15, "TM108", "May lower opponent's Defense.", 20, 2), + new Move(Moves.MIRROR_COAT, "Mirror Coat", Type.PSYCHIC, MoveCategory.SPECIAL, -1, 100, 20, "", "When hit by a Special Attack, user strikes back with 2x power.", -1, 2), + new Move(Moves.PSYCH_UP, "Psych Up", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Copies the opponent's stat changes.", -1, 2), + new Move(Moves.EXTREME_SPEED, "Extreme Speed", Type.NORMAL, MoveCategory.PHYSICAL, 80, 100, 5, "", "User attacks first.", -1, 2), + new Move(Moves.ANCIENT_POWER, "Ancient Power", Type.ROCK, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all user's stats at once.", 10, 2), + new Move(Moves.SHADOW_BALL, "Shadow Ball", Type.GHOST, MoveCategory.SPECIAL, 80, 100, 15, "TM114", "May lower opponent's Special Defense.", 20, 2), + new Move(Moves.FUTURE_SIGHT, "Future Sight", Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, "", "Damage occurs 2 turns later.", -1, 2), + new Move(Moves.ROCK_SMASH, "Rock Smash", Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 15, "", "May lower opponent's Defense.", 50, 2), + new Move(Moves.WHIRLPOOL, "Whirlpool", Type.WATER, MoveCategory.SPECIAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 2), + new Move(Moves.BEAT_UP, "Beat Up", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, "", "Each Pokémon in user's party attacks.", -1, 2), + new Move(Moves.FAKE_OUT, "Fake Out", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 10, "", "User attacks first, foe flinches. Only usable on first turn.", 100, 3), + new Move(Moves.UPROAR, "Uproar", Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, "", "User attacks for 3 turns and prevents sleep.", -1, 3), + new Move(Moves.STOCKPILE, "Stockpile", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Stores energy for use with Spit Up and Swallow.", -1, 3), + new Move(Moves.SPIT_UP, "Spit Up", Type.NORMAL, MoveCategory.SPECIAL, -1, 100, 10, "", "Power depends on how many times the user performed Stockpile.", -1, 3), + new Move(Moves.SWALLOW, "Swallow", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "The more times the user has performed Stockpile, the more HP is recovered.", -1, 3), + new Move(Moves.HEAT_WAVE, "Heat Wave", Type.FIRE, MoveCategory.SPECIAL, 95, 90, 10, "TM118", "May burn opponent.", 10, 3), + new Move(Moves.HAIL, "Hail", Type.ICE, MoveCategory.STATUS, -1, -1, 10, "", "Non-Ice types are damaged for 5 turns.", -1, 3), + new Move(Moves.TORMENT, "Torment", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Opponent cannot use the same move in a row.", -1, 3), + new Move(Moves.FLATTER, "Flatter", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Confuses opponent, but raises its Special Attack.", -1, 3), + new Move(Moves.WILL_O_WISP, "Will-O-Wisp", Type.FIRE, MoveCategory.STATUS, -1, 85, 15, "TM107", "Burns opponent.", -1, 3), + new Move(Moves.MEMENTO, "Memento", Type.DARK, MoveCategory.STATUS, -1, 100, 10, "", "User faints, sharply lowers opponent's Attack and Special Attack.", -1, 3), + new Move(Moves.FACADE, "Facade", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "TM25", "Power doubles if user is burned, poisoned, or paralyzed.", -1, 3), + new Move(Moves.FOCUS_PUNCH, "Focus Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 150, 100, 20, "", "If the user is hit before attacking, it flinches instead.", -1, 3), + new Move(Moves.SMELLING_SALTS, "Smelling Salts", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 10, "", "Power doubles if opponent is paralyzed, but cures it.", -1, 3), + new Move(Moves.FOLLOW_ME, "Follow Me", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "In Double Battle, the user takes all the attacks.", -1, 3), + new Move(Moves.NATURE_POWER, "Nature Power", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Uses a certain move based on the current terrain.", -1, 3), + new Move(Moves.CHARGE, "Charge", Type.ELECTRIC, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Special Defense and next Electric move's power increases.", -1, 3), + new Move(Moves.TAUNT, "Taunt", Type.DARK, MoveCategory.STATUS, -1, 100, 20, "TM87", "Opponent can only use moves that attack.", -1, 3), + new Move(Moves.HELPING_HAND, "Helping Hand", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "TM130", "In Double Battles, boosts the power of the partner's move.", -1, 3), + new Move(Moves.TRICK, "Trick", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 10, "TM109", "Swaps held items with the opponent.", -1, 3), + new Move(Moves.ROLE_PLAY, "Role Play", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User copies the opponent's Ability.", -1, 3), + new Move(Moves.WISH, "Wish", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "The user recovers HP in the following turn.", -1, 3), + new Move(Moves.ASSIST, "Assist", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "User performs a move known by its allies at random.", -1, 3), + new Move(Moves.INGRAIN, "Ingrain", Type.GRASS, MoveCategory.STATUS, -1, -1, 20, "", "User restores HP each turn. User cannot escape/switch.", -1, 3), + new Move(Moves.SUPERPOWER, "Superpower", Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, "", "Lowers user's Attack and Defense.", 100, 3), + new Move(Moves.MAGIC_COAT, "Magic Coat", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "Reflects moves that cause status conditions back to the attacker.", -1, 3), + new Move(Moves.RECYCLE, "Recycle", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "User's used hold item is restored.", -1, 3), + new Move(Moves.REVENGE, "Revenge", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Power increases if user was hit first.", -1, 3), + new Move(Moves.BRICK_BREAK, "Brick Break", Type.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 15, "TM58", "Breaks through Reflect and Light Screen barriers.", -1, 3), + new Move(Moves.YAWN, "Yawn", Type.NORMAL, MoveCategory.STATUS, -1, -1, 10, "", "Puts opponent to sleep in the next turn.", -1, 3), + new Move(Moves.KNOCK_OFF, "Knock Off", Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, "", "Removes opponent's held item for the rest of the battle.", -1, 3), + new Move(Moves.ENDEAVOR, "Endeavor", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, "", "Reduces opponent's HP to same as user's.", -1, 3), + new Move(Moves.ERUPTION, "Eruption", Type.FIRE, MoveCategory.SPECIAL, 150, 100, 5, "", "Stronger when the user's HP is higher.", -1, 3), + new Move(Moves.SKILL_SWAP, "Skill Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "TM98", "The user swaps Abilities with the opponent.", -1, 3), + new Move(Moves.IMPRISON, "Imprison", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "TM92", "Opponent is unable to use moves that the user also knows.", -1, 3), + new Move(Moves.REFRESH, "Refresh", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Cures paralysis, poison, and burns.", -1, 3), + new Move(Moves.GRUDGE, "Grudge", Type.GHOST, MoveCategory.STATUS, -1, -1, 5, "", "If the users faints after using this move, the PP for the opponent's last move is depleted.", -1, 3), + new Move(Moves.SNATCH, "Snatch", Type.DARK, MoveCategory.STATUS, -1, -1, 10, "", "Steals the effects of the opponent's next move.", -1, 3), + new Move(Moves.SECRET_POWER, "Secret Power", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "Effects of the attack vary with the location.", 30, 3), + new Move(Moves.DIVE, "Dive", Type.WATER, MoveCategory.PHYSICAL, 80, 100, 10, "", "Dives underwater on first turn, attacks on second turn.", -1, 3), + new Move(Moves.ARM_THRUST, "Arm Thrust", Type.FIGHTING, MoveCategory.PHYSICAL, 15, 100, 20, "", "Hits 2-5 times in one turn.", -1, 3), + new Move(Moves.CAMOUFLAGE, "Camouflage", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Changes user's type according to the location.", -1, 3), + new Move(Moves.TAIL_GLOW, "Tail Glow", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Drastically raises user's Special Attack.", -1, 3), + new Move(Moves.LUSTER_PURGE, "Luster Purge", Type.PSYCHIC, MoveCategory.SPECIAL, 70, 100, 5, "", "May lower opponent's Special Defense.", 50, 3), + new Move(Moves.MIST_BALL, "Mist Ball", Type.PSYCHIC, MoveCategory.SPECIAL, 70, 100, 5, "", "May lower opponent's Special Attack.", 50, 3), + new Move(Moves.FEATHER_DANCE, "Feather Dance", Type.FLYING, MoveCategory.STATUS, -1, 100, 15, "", "Sharply lowers opponent's Attack.", -1, 3), + new Move(Moves.TEETER_DANCE, "Teeter Dance", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Confuses all Pokémon.", -1, 3), + new Move(Moves.BLAZE_KICK, "Blaze Kick", Type.FIRE, MoveCategory.PHYSICAL, 85, 90, 10, "", "High critical hit ratio. May burn opponent.", 10, 3), + new Move(Moves.MUD_SPORT, "Mud Sport", Type.GROUND, MoveCategory.STATUS, -1, -1, 15, "", "Weakens the power of Electric-type moves.", -1, 3), + new Move(Moves.ICE_BALL, "Ice Ball", Type.ICE, MoveCategory.PHYSICAL, 30, 90, 20, "", "Doubles in power each turn for 5 turns.", -1, 3), + new Move(Moves.NEEDLE_ARM, "Needle Arm", Type.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, "", "May cause flinching.", 30, 3), + new Move(Moves.SLACK_OFF, "Slack Off", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half its max HP.", -1, 3), + new Move(Moves.HYPER_VOICE, "Hyper Voice", Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 10, "TM117", "", -1, 3), + new Move(Moves.POISON_FANG, "Poison Fang", Type.POISON, MoveCategory.PHYSICAL, 50, 100, 15, "", "May badly poison opponent.", 50, 3), + new Move(Moves.CRUSH_CLAW, "Crush Claw", Type.NORMAL, MoveCategory.PHYSICAL, 75, 95, 10, "", "May lower opponent's Defense.", 50, 3), + new Move(Moves.BLAST_BURN, "Blast Burn", Type.FIRE, MoveCategory.SPECIAL, 150, 90, 5, "TM153", "User must recharge next turn.", -1, 3), + new Move(Moves.HYDRO_CANNON, "Hydro Cannon", Type.WATER, MoveCategory.SPECIAL, 150, 90, 5, "TM154", "User must recharge next turn.", -1, 3), + new Move(Moves.METEOR_MASH, "Meteor Mash", Type.STEEL, MoveCategory.PHYSICAL, 90, 90, 10, "", "May raise user's Attack.", 20, 3), + new Move(Moves.ASTONISH, "Astonish", Type.GHOST, MoveCategory.PHYSICAL, 30, 100, 15, "", "May cause flinching.", 30, 3), + new Move(Moves.WEATHER_BALL, "Weather Ball", Type.NORMAL, MoveCategory.SPECIAL, 50, 100, 10, "", "Move's power and type changes with the weather.", -1, 3), + new Move(Moves.AROMATHERAPY, "Aromatherapy", Type.GRASS, MoveCategory.STATUS, -1, -1, 5, "", "Cures all status problems in your party.", -1, 3), + new Move(Moves.FAKE_TEARS, "Fake Tears", Type.DARK, MoveCategory.STATUS, -1, 100, 20, "TM03", "Sharply lowers opponent's Special Defense.", -1, 3), + new Move(Moves.AIR_CUTTER, "Air Cutter", Type.FLYING, MoveCategory.SPECIAL, 60, 95, 25, "TM40", "High critical hit ratio.", -1, 3), + new Move(Moves.OVERHEAT, "Overheat", Type.FIRE, MoveCategory.SPECIAL, 130, 90, 5, "TM157", "Sharply lowers user's Special Attack.", 100, 3), + new Move(Moves.ODOR_SLEUTH, "Odor Sleuth", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, and allows Normal- and Fighting-type attacks to hit Ghosts.", -1, 3), + new Move(Moves.ROCK_TOMB, "Rock Tomb", Type.ROCK, MoveCategory.PHYSICAL, 60, 95, 15, "TM36", "Lowers opponent's Speed.", 100, 3), + new Move(Moves.SILVER_WIND, "Silver Wind", Type.BUG, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all stats of user at once.", 10, 3), + new Move(Moves.METAL_SOUND, "Metal Sound", Type.STEEL, MoveCategory.STATUS, -1, 85, 40, "", "Sharply lowers opponent's Special Defense.", -1, 3), + new Move(Moves.GRASS_WHISTLE, "Grass Whistle", Type.GRASS, MoveCategory.STATUS, -1, 55, 15, "", "Puts opponent to sleep.", -1, 3), + new Move(Moves.TICKLE, "Tickle", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Lowers opponent's Attack and Defense.", -1, 3), + new Move(Moves.COSMIC_POWER, "Cosmic Power", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Defense and Special Defense.", -1, 3), + new Move(Moves.WATER_SPOUT, "Water Spout", Type.WATER, MoveCategory.SPECIAL, 150, 100, 5, "", "The higher the user's HP, the higher the damage caused.", -1, 3), + new Move(Moves.SIGNAL_BEAM, "Signal Beam", Type.BUG, MoveCategory.SPECIAL, 75, 100, 15, "", "May confuse opponent.", 10, 3), + new Move(Moves.SHADOW_PUNCH, "Shadow Punch", Type.GHOST, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 3), + new Move(Moves.EXTRASENSORY, "Extrasensory", Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 20, "", "May cause flinching.", 10, 3), + new Move(Moves.SKY_UPPERCUT, "Sky Uppercut", Type.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, "", "Hits the opponent, even during Fly.", -1, 3), + new Move(Moves.SAND_TOMB, "Sand Tomb", Type.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, "", "Traps opponent, damaging them for 4-5 turns.", 100, 3), + new Move(Moves.SHEER_COLD, "Sheer Cold", Type.ICE, MoveCategory.SPECIAL, -1, 30, 5, "", "One-Hit-KO, if it hits.", -1, 3), + new Move(Moves.MUDDY_WATER, "Muddy Water", Type.WATER, MoveCategory.SPECIAL, 90, 85, 10, "", "May lower opponent's Accuracy.", 30, 3), + new Move(Moves.BULLET_SEED, "Bullet Seed", Type.GRASS, MoveCategory.PHYSICAL, 25, 100, 30, "TM56", "Hits 2-5 times in one turn.", -1, 3), + new Move(Moves.AERIAL_ACE, "Aerial Ace", Type.FLYING, MoveCategory.PHYSICAL, 60, 999, 20, "TM27", "Ignores Accuracy and Evasiveness.", -1, 3), + new Move(Moves.ICICLE_SPEAR, "Icicle Spear", Type.ICE, MoveCategory.PHYSICAL, 25, 100, 30, "", "Hits 2-5 times in one turn.", -1, 3), + new Move(Moves.IRON_DEFENSE, "Iron Defense", Type.STEEL, MoveCategory.STATUS, -1, -1, 15, "TM104", "Sharply raises user's Defense.", -1, 3), + new Move(Moves.BLOCK, "Block", Type.NORMAL, MoveCategory.STATUS, -1, -1, 5, "", "Opponent cannot flee or switch.", -1, 3), + new Move(Moves.HOWL, "Howl", Type.NORMAL, MoveCategory.STATUS, -1, -1, 40, "", "Raises Attack of allies.", -1, 3), + new Move(Moves.DRAGON_CLAW, "Dragon Claw", Type.DRAGON, MoveCategory.PHYSICAL, 80, 100, 15, "TM78", "", -1, 3), + new Move(Moves.FRENZY_PLANT, "Frenzy Plant", Type.GRASS, MoveCategory.SPECIAL, 150, 90, 5, "TM155", "User must recharge next turn.", -1, 3), + new Move(Moves.BULK_UP, "Bulk Up", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 20, "TM64", "Raises user's Attack and Defense.", -1, 3), + new Move(Moves.BOUNCE, "Bounce", Type.FLYING, MoveCategory.PHYSICAL, 85, 85, 5, "", "Springs up on first turn, attacks on second. May paralyze opponent.", 30, 3), + new Move(Moves.MUD_SHOT, "Mud Shot", Type.GROUND, MoveCategory.SPECIAL, 55, 95, 15, "TM35", "Lowers opponent's Speed.", 100, 3), + new Move(Moves.POISON_TAIL, "Poison Tail", Type.POISON, MoveCategory.PHYSICAL, 50, 100, 25, "TM26", "High critical hit ratio. May poison opponent.", 10, 3), + new Move(Moves.COVET, "Covet", Type.NORMAL, MoveCategory.PHYSICAL, 60, 100, 25, "", "Opponent's item is stolen by the user.", -1, 3), + new Move(Moves.VOLT_TACKLE, "Volt Tackle", Type.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage. May paralyze opponent.", 10, 3), + new Move(Moves.MAGICAL_LEAF, "Magical Leaf", Type.GRASS, MoveCategory.SPECIAL, 60, 999, 20, "TM33", "Ignores Accuracy and Evasiveness.", -1, 3), + new Move(Moves.WATER_SPORT, "Water Sport", Type.WATER, MoveCategory.STATUS, -1, -1, 15, "", "Weakens the power of Fire-type moves.", -1, 3), + new Move(Moves.CALM_MIND, "Calm Mind", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 20, "TM129", "Raises user's Special Attack and Special Defense.", -1, 3), + new Move(Moves.LEAF_BLADE, "Leaf Blade", Type.GRASS, MoveCategory.PHYSICAL, 90, 100, 15, "", "High critical hit ratio.", -1, 3), + new Move(Moves.DRAGON_DANCE, "Dragon Dance", Type.DRAGON, MoveCategory.STATUS, -1, -1, 20, "TM100", "Raises user's Attack and Speed.", -1, 3), + new Move(Moves.ROCK_BLAST, "Rock Blast", Type.ROCK, MoveCategory.PHYSICAL, 25, 90, 10, "TM76", "Hits 2-5 times in one turn.", -1, 3), + new Move(Moves.SHOCK_WAVE, "Shock Wave", Type.ELECTRIC, MoveCategory.SPECIAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 3), + new Move(Moves.WATER_PULSE, "Water Pulse", Type.WATER, MoveCategory.SPECIAL, 60, 100, 20, "TM11", "May confuse opponent.", 20, 3), + new Move(Moves.DOOM_DESIRE, "Doom Desire", Type.STEEL, MoveCategory.SPECIAL, 140, 100, 5, "", "Damage occurs 2 turns later.", -1, 3), + new Move(Moves.PSYCHO_BOOST, "Psycho Boost", Type.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, "", "Sharply lowers user's Special Attack.", 100, 3), + new Move(Moves.ROOST, "Roost", Type.FLYING, MoveCategory.STATUS, -1, -1, 5, "", "User recovers half of its max HP and loses the Flying type temporarily.", -1, 4), + new Move(Moves.GRAVITY, "Gravity", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "", "Prevents moves like Fly and Bounce and the Ability Levitate for 5 turns.", -1, 4), + new Move(Moves.MIRACLE_EYE, "Miracle Eye", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 40, "", "Resets opponent's Evasiveness, removes Dark's Psychic immunity.", -1, 4), + new Move(Moves.WAKE_UP_SLAP, "Wake-Up Slap", Type.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, "", "Power doubles if opponent is asleep, but wakes it up.", -1, 4), + new Move(Moves.HAMMER_ARM, "Hammer Arm", Type.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, "", "Lowers user's Speed.", 100, 4), + new Move(Moves.GYRO_BALL, "Gyro Ball", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, "", "The slower the user, the stronger the attack.", -1, 4), + new Move(Moves.HEALING_WISH, "Healing Wish", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "The user faints and the next Pokémon released is fully healed.", -1, 4), + new Move(Moves.BRINE, "Brine", Type.WATER, MoveCategory.SPECIAL, 65, 100, 10, "", "Power doubles if opponent's HP is less than 50%.", -1, 4), + new Move(Moves.NATURAL_GIFT, "Natural Gift", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 15, "", "Power and type depend on the user's held berry.", -1, 4), + new Move(Moves.FEINT, "Feint", Type.NORMAL, MoveCategory.PHYSICAL, 30, 100, 10, "", "Only hits if opponent uses Protect or Detect in the same turn.", -1, 4), + new Move(Moves.PLUCK, "Pluck", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 20, "", "If the opponent is holding a berry, its effect is stolen by user.", -1, 4), + new Move(Moves.TAILWIND, "Tailwind", Type.FLYING, MoveCategory.STATUS, -1, -1, 15, "TM113", "Doubles Speed for 4 turns.", -1, 4), + new Move(Moves.ACUPRESSURE, "Acupressure", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Sharply raises a random stat.", -1, 4), + new Move(Moves.METAL_BURST, "Metal Burst", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, "", "Deals damage equal to 1.5x opponent's attack.", -1, 4), + new Move(Moves.U_TURN, "U-turn", Type.BUG, MoveCategory.PHYSICAL, 70, 100, 20, "TM60", "User switches out immediately after attacking.", -1, 4), + new Move(Moves.CLOSE_COMBAT, "Close Combat", Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, "TM167", "Lowers user's Defense and Special Defense.", 100, 4), + new Move(Moves.PAYBACK, "Payback", Type.DARK, MoveCategory.PHYSICAL, 50, 100, 10, "", "Power doubles if the user was attacked first.", -1, 4), + new Move(Moves.ASSURANCE, "Assurance", Type.DARK, MoveCategory.PHYSICAL, 60, 100, 10, "", "Power doubles if opponent already took damage in the same turn.", -1, 4), + new Move(Moves.EMBARGO, "Embargo", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Opponent cannot use items.", -1, 4), + new Move(Moves.FLING, "Fling", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, "TM43", "Power depends on held item.", -1, 4), + new Move(Moves.PSYCHO_SHIFT, "Psycho Shift", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 10, "", "Transfers user's status condition to the opponent.", -1, 4), + new Move(Moves.TRUMP_CARD, "Trump Card", Type.NORMAL, MoveCategory.SPECIAL, -1, 999, 5, "", "The lower the PP, the higher the power.", -1, 4), + new Move(Moves.HEAL_BLOCK, "Heal Block", Type.PSYCHIC, MoveCategory.STATUS, -1, 100, 15, "", "Prevents the opponent from restoring HP for 5 turns.", -1, 4), + new Move(Moves.WRING_OUT, "Wring Out", Type.NORMAL, MoveCategory.SPECIAL, -1, 100, 5, "", "The higher the opponent's HP, the higher the damage.", -1, 4), + new Move(Moves.POWER_TRICK, "Power Trick", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User's own Attack and Defense switch.", -1, 4), + new Move(Moves.GASTRO_ACID, "Gastro Acid", Type.POISON, MoveCategory.STATUS, -1, 100, 10, "", "Cancels out the effect of the opponent's Ability.", -1, 4), + new Move(Moves.LUCKY_CHANT, "Lucky Chant", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Opponent cannot land critical hits for 5 turns.", -1, 4), + new Move(Moves.ME_FIRST, "Me First", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "User copies the opponent's attack with 1.5× power.", -1, 4), + new Move(Moves.COPYCAT, "Copycat", Type.NORMAL, MoveCategory.STATUS, -1, -1, 20, "", "Copies opponent's last move.", -1, 4), + new Move(Moves.POWER_SWAP, "Power Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User and opponent swap Attack and Special Attack.", -1, 4), + new Move(Moves.GUARD_SWAP, "Guard Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "User and opponent swap Defense and Special Defense.", -1, 4), + new Move(Moves.PUNISHMENT, "Punishment", Type.DARK, MoveCategory.PHYSICAL, -1, 100, 5, "", "Power increases when opponent's stats have been raised.", -1, 4), + new Move(Moves.LAST_RESORT, "Last Resort", Type.NORMAL, MoveCategory.PHYSICAL, 140, 100, 5, "", "Can only be used after all other moves are used.", -1, 4), + new Move(Moves.WORRY_SEED, "Worry Seed", Type.GRASS, MoveCategory.STATUS, -1, 100, 10, "", "Changes the opponent's Ability to Insomnia.", -1, 4), + new Move(Moves.SUCKER_PUNCH, "Sucker Punch", Type.DARK, MoveCategory.PHYSICAL, 70, 100, 5, "", "User attacks first, but only works if opponent is readying an attack.", -1, 4), + new Move(Moves.TOXIC_SPIKES, "Toxic Spikes", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "TM91", "Poisons opponents when they switch into battle.", -1, 4), + new Move(Moves.HEART_SWAP, "Heart Swap", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Stat changes are swapped with the opponent.", -1, 4), + new Move(Moves.AQUA_RING, "Aqua Ring", Type.WATER, MoveCategory.STATUS, -1, -1, 20, "", "Restores a little HP each turn.", -1, 4), + new Move(Moves.MAGNET_RISE, "Magnet Rise", Type.ELECTRIC, MoveCategory.STATUS, -1, -1, 10, "", "User becomes immune to Ground-type moves for 5 turns.", -1, 4), + new Move(Moves.FLARE_BLITZ, "Flare Blitz", Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, "TM165", "User receives recoil damage. May burn opponent.", 10, 4), + new Move(Moves.FORCE_PALM, "Force Palm", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "May paralyze opponent.", 30, 4), + new Move(Moves.AURA_SPHERE, "Aura Sphere", Type.FIGHTING, MoveCategory.SPECIAL, 80, 999, 20, "TM112", "Ignores Accuracy and Evasiveness.", -1, 4), + new Move(Moves.ROCK_POLISH, "Rock Polish", Type.ROCK, MoveCategory.STATUS, -1, -1, 20, "", "Sharply raises user's Speed.", -1, 4), + new Move(Moves.POISON_JAB, "Poison Jab", Type.POISON, MoveCategory.PHYSICAL, 80, 100, 20, "TM83", "May poison the opponent.", 30, 4), + new Move(Moves.DARK_PULSE, "Dark Pulse", Type.DARK, MoveCategory.SPECIAL, 80, 100, 15, "TM94", "May cause flinching.", 20, 4), + new Move(Moves.NIGHT_SLASH, "Night Slash", Type.DARK, MoveCategory.PHYSICAL, 70, 100, 15, "", "High critical hit ratio.", -1, 4), + new Move(Moves.AQUA_TAIL, "Aqua Tail", Type.WATER, MoveCategory.PHYSICAL, 90, 90, 10, "", "", -1, 4), + new Move(Moves.SEED_BOMB, "Seed Bomb", Type.GRASS, MoveCategory.PHYSICAL, 80, 100, 15, "TM71", "", -1, 4), + new Move(Moves.AIR_SLASH, "Air Slash", Type.FLYING, MoveCategory.SPECIAL, 75, 95, 15, "TM65", "May cause flinching.", 30, 4), + new Move(Moves.X_SCISSOR, "X-Scissor", Type.BUG, MoveCategory.PHYSICAL, 80, 100, 15, "TM105", "", -1, 4), + new Move(Moves.BUG_BUZZ, "Bug Buzz", Type.BUG, MoveCategory.SPECIAL, 90, 100, 10, "TM162", "May lower opponent's Special Defense.", 10, 4), + new Move(Moves.DRAGON_PULSE, "Dragon Pulse", Type.DRAGON, MoveCategory.SPECIAL, 85, 100, 10, "TM115", "", -1, 4), + new Move(Moves.DRAGON_RUSH, "Dragon Rush", Type.DRAGON, MoveCategory.PHYSICAL, 100, 75, 10, "", "May cause flinching.", 20, 4), + new Move(Moves.POWER_GEM, "Power Gem", Type.ROCK, MoveCategory.SPECIAL, 80, 100, 20, "TM101", "", -1, 4), + new Move(Moves.DRAIN_PUNCH, "Drain Punch", Type.FIGHTING, MoveCategory.PHYSICAL, 75, 100, 10, "TM73", "User recovers half the HP inflicted on opponent.", -1, 4), + new Move(Moves.VACUUM_WAVE, "Vacuum Wave", Type.FIGHTING, MoveCategory.SPECIAL, 40, 100, 30, "", "User attacks first.", -1, 4), + new Move(Moves.FOCUS_BLAST, "Focus Blast", Type.FIGHTING, MoveCategory.SPECIAL, 120, 70, 5, "TM158", "May lower opponent's Special Defense.", 10, 4), + new Move(Moves.ENERGY_BALL, "Energy Ball", Type.GRASS, MoveCategory.SPECIAL, 90, 100, 10, "TM119", "May lower opponent's Special Defense.", 10, 4), + new Move(Moves.BRAVE_BIRD, "Brave Bird", Type.FLYING, MoveCategory.PHYSICAL, 120, 100, 15, "TM164", "User receives recoil damage.", -1, 4), + new Move(Moves.EARTH_POWER, "Earth Power", Type.GROUND, MoveCategory.SPECIAL, 90, 100, 10, "TM133", "May lower opponent's Special Defense.", 10, 4), + new Move(Moves.SWITCHEROO, "Switcheroo", Type.DARK, MoveCategory.STATUS, -1, 100, 10, "", "Swaps held items with the opponent.", -1, 4), + new Move(Moves.GIGA_IMPACT, "Giga Impact", Type.NORMAL, MoveCategory.PHYSICAL, 150, 90, 5, "TM152", "User must recharge next turn.", -1, 4), + new Move(Moves.NASTY_PLOT, "Nasty Plot", Type.DARK, MoveCategory.STATUS, -1, -1, 20, "TM140", "Sharply raises user's Special Attack.", -1, 4), + new Move(Moves.BULLET_PUNCH, "Bullet Punch", Type.STEEL, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4), + new Move(Moves.AVALANCHE, "Avalanche", Type.ICE, MoveCategory.PHYSICAL, 60, 100, 10, "TM46", "Power doubles if user took damage first.", -1, 4), + new Move(Moves.ICE_SHARD, "Ice Shard", Type.ICE, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4), + new Move(Moves.SHADOW_CLAW, "Shadow Claw", Type.GHOST, MoveCategory.PHYSICAL, 70, 100, 15, "TM61", "High critical hit ratio.", -1, 4), + new Move(Moves.THUNDER_FANG, "Thunder Fang", Type.ELECTRIC, MoveCategory.PHYSICAL, 65, 95, 15, "TM09", "May cause flinching and/or paralyze opponent.", 10, 4), + new Move(Moves.ICE_FANG, "Ice Fang", Type.ICE, MoveCategory.PHYSICAL, 65, 95, 15, "TM10", "May cause flinching and/or freeze opponent.", 10, 4), + new Move(Moves.FIRE_FANG, "Fire Fang", Type.FIRE, MoveCategory.PHYSICAL, 65, 95, 15, "TM08", "May cause flinching and/or burn opponent.", 10, 4), + new Move(Moves.SHADOW_SNEAK, "Shadow Sneak", Type.GHOST, MoveCategory.PHYSICAL, 40, 100, 30, "", "User attacks first.", -1, 4), + new Move(Moves.MUD_BOMB, "Mud Bomb", Type.GROUND, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 30, 4), + new Move(Moves.PSYCHO_CUT, "Psycho Cut", Type.PSYCHIC, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio.", -1, 4), + new Move(Moves.ZEN_HEADBUTT, "Zen Headbutt", Type.PSYCHIC, MoveCategory.PHYSICAL, 80, 90, 15, "TM59", "May cause flinching.", 20, 4), + new Move(Moves.MIRROR_SHOT, "Mirror Shot", Type.STEEL, MoveCategory.SPECIAL, 65, 85, 10, "", "May lower opponent's Accuracy.", 30, 4), + new Move(Moves.FLASH_CANNON, "Flash Cannon", Type.STEEL, MoveCategory.SPECIAL, 80, 100, 10, "TM93", "May lower opponent's Special Defense.", 10, 4), + new Move(Moves.ROCK_CLIMB, "Rock Climb", Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, "", "May confuse opponent.", 20, 4), + new Move(Moves.DEFOG, "Defog", Type.FLYING, MoveCategory.STATUS, -1, -1, 15, "", "Lowers opponent's Evasiveness and clears fog.", -1, 4), + new Move(Moves.TRICK_ROOM, "Trick Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 5, "TM161", "Slower Pokémon move first in the turn for 5 turns.", -1, 4), + new Move(Moves.DRACO_METEOR, "Draco Meteor", Type.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, "TM169", "Sharply lowers user's Special Attack.", 100, 4), + new Move(Moves.DISCHARGE, "Discharge", Type.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 15, "", "May paralyze opponent.", 30, 4), + new Move(Moves.LAVA_PLUME, "Lava Plume", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 15, "", "May burn opponent.", 30, 4), + new Move(Moves.LEAF_STORM, "Leaf Storm", Type.GRASS, MoveCategory.SPECIAL, 130, 90, 5, "TM159", "Sharply lowers user's Special Attack.", 100, 4), + new Move(Moves.POWER_WHIP, "Power Whip", Type.GRASS, MoveCategory.PHYSICAL, 120, 85, 10, "", "", -1, 4), + new Move(Moves.ROCK_WRECKER, "Rock Wrecker", Type.ROCK, MoveCategory.PHYSICAL, 150, 90, 5, "", "User must recharge next turn.", -1, 4), + new Move(Moves.CROSS_POISON, "Cross Poison", Type.POISON, MoveCategory.PHYSICAL, 70, 100, 20, "", "High critical hit ratio. May poison opponent.", 10, 4), + new Move(Moves.GUNK_SHOT, "Gunk Shot", Type.POISON, MoveCategory.PHYSICAL, 120, 80, 5, "TM102", "May poison opponent.", 30, 4), + new Move(Moves.IRON_HEAD, "Iron Head", Type.STEEL, MoveCategory.PHYSICAL, 80, 100, 15, "TM99", "May cause flinching.", 30, 4), + new Move(Moves.MAGNET_BOMB, "Magnet Bomb", Type.STEEL, MoveCategory.PHYSICAL, 60, 999, 20, "", "Ignores Accuracy and Evasiveness.", -1, 4), + new Move(Moves.STONE_EDGE, "Stone Edge", Type.ROCK, MoveCategory.PHYSICAL, 100, 80, 5, "TM150", "High critical hit ratio.", -1, 4), + new Move(Moves.CAPTIVATE, "Captivate", Type.NORMAL, MoveCategory.STATUS, -1, 100, 20, "", "Sharply lowers opponent's Special Attack if opposite gender.", -1, 4), + new Move(Moves.STEALTH_ROCK, "Stealth Rock", Type.ROCK, MoveCategory.STATUS, -1, -1, 20, "TM116", "Damages opponent switching into battle.", -1, 4), + new Move(Moves.GRASS_KNOT, "Grass Knot", Type.GRASS, MoveCategory.SPECIAL, -1, 100, 20, "TM81", "The heavier the opponent, the stronger the attack.", -1, 4), + new Move(Moves.CHATTER, "Chatter", Type.FLYING, MoveCategory.SPECIAL, 65, 100, 20, "", "Confuses opponent.", 100, 4), + new Move(Moves.JUDGMENT, "Judgment", Type.NORMAL, MoveCategory.SPECIAL, 100, 100, 10, "", "Type depends on the Arceus Plate being held.", -1, 4), + new Move(Moves.BUG_BITE, "Bug Bite", Type.BUG, MoveCategory.PHYSICAL, 60, 100, 20, "", "Receives the effect from the opponent's held berry.", -1, 4), + new Move(Moves.CHARGE_BEAM, "Charge Beam", Type.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, "TM23", "May raise user's Special Attack.", 70, 4), + new Move(Moves.WOOD_HAMMER, "Wood Hammer", Type.GRASS, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 4), + new Move(Moves.AQUA_JET, "Aqua Jet", Type.WATER, MoveCategory.PHYSICAL, 40, 100, 20, "", "User attacks first.", -1, 4), + new Move(Moves.ATTACK_ORDER, "Attack Order", Type.BUG, MoveCategory.PHYSICAL, 90, 100, 15, "", "High critical hit ratio.", -1, 4), + new Move(Moves.DEFEND_ORDER, "Defend Order", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "Raises user's Defense and Special Defense.", -1, 4), + new Move(Moves.HEAL_ORDER, "Heal Order", Type.BUG, MoveCategory.STATUS, -1, -1, 10, "", "User recovers half its max HP.", -1, 4), + new Move(Moves.HEAD_SMASH, "Head Smash", Type.ROCK, MoveCategory.PHYSICAL, 150, 80, 5, "", "User receives recoil damage.", -1, 4), + new Move(Moves.DOUBLE_HIT, "Double Hit", Type.NORMAL, MoveCategory.PHYSICAL, 35, 90, 10, "", "Hits twice in one turn.", -1, 4), + new Move(Moves.ROAR_OF_TIME, "Roar of Time", Type.DRAGON, MoveCategory.SPECIAL, 150, 90, 5, "", "User must recharge next turn.", -1, 4), + new Move(Moves.SPACIAL_REND, "Spacial Rend", Type.DRAGON, MoveCategory.SPECIAL, 100, 95, 5, "", "High critical hit ratio.", -1, 4), + new Move(Moves.LUNAR_DANCE, "Lunar Dance", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "The user faints but the next Pokémon released is fully healed.", -1, 4), + new Move(Moves.CRUSH_GRIP, "Crush Grip", Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, "", "More powerful when opponent has higher HP.", -1, 4), + new Move(Moves.MAGMA_STORM, "Magma Storm", Type.FIRE, MoveCategory.SPECIAL, 100, 75, 5, "", "Traps opponent, damaging them for 4-5 turns.", 100, 4), + new Move(Moves.DARK_VOID, "Dark Void", Type.DARK, MoveCategory.STATUS, -1, 50, 10, "", "Puts all adjacent opponents to sleep.", -1, 4), + new Move(Moves.SEED_FLARE, "Seed Flare", Type.GRASS, MoveCategory.SPECIAL, 120, 85, 5, "", "May lower opponent's Special Defense.", 40, 4), + new Move(Moves.OMINOUS_WIND, "Ominous Wind", Type.GHOST, MoveCategory.SPECIAL, 60, 100, 5, "", "May raise all user's stats at once.", 10, 4), + new Move(Moves.SHADOW_FORCE, "Shadow Force", Type.GHOST, MoveCategory.PHYSICAL, 120, 100, 5, "", "Disappears on first turn, attacks on second. Can strike through Protect/Detect.", -1, 4), + new Move(Moves.HONE_CLAWS, "Hone Claws", Type.DARK, MoveCategory.STATUS, -1, -1, 15, "", "Raises user's Attack and Accuracy.", -1, 5), + new Move(Moves.WIDE_GUARD, "Wide Guard", Type.ROCK, MoveCategory.STATUS, -1, -1, 10, "", "Protects the user's team from multi-target attacks.", -1, 5), + new Move(Moves.GUARD_SPLIT, "Guard Split", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Averages Defense and Special Defense with the target.", -1, 5), + new Move(Moves.POWER_SPLIT, "Power Split", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Averages Attack and Special Attack with the target.", -1, 5), + new Move(Moves.WONDER_ROOM, "Wonder Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Swaps every Pokémon's Defense and Special Defense for 5 turns.", -1, 5), + new Move(Moves.PSYSHOCK, "Psyshock", Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, "TM54", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5), + new Move(Moves.VENOSHOCK, "Venoshock", Type.POISON, MoveCategory.SPECIAL, 65, 100, 10, "TM45", "Inflicts double damage if the target is poisoned.", -1, 5), + new Move(Moves.AUTOTOMIZE, "Autotomize", Type.STEEL, MoveCategory.STATUS, -1, -1, 15, "", "Reduces weight and sharply raises Speed.", -1, 5), + new Move(Moves.RAGE_POWDER, "Rage Powder", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Forces attacks to hit user, not team-mates.", -1, 5), + new Move(Moves.TELEKINESIS, "Telekinesis", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "Ignores opponent's Evasiveness for three turns, add Ground immunity.", -1, 5), + new Move(Moves.MAGIC_ROOM, "Magic Room", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Suppresses the effects of held items for five turns.", -1, 5), + new Move(Moves.SMACK_DOWN, "Smack Down", Type.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, "", "Makes Flying-type Pokémon vulnerable to Ground moves.", 100, 5), + new Move(Moves.STORM_THROW, "Storm Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Always results in a critical hit.", 100, 5), + new Move(Moves.FLAME_BURST, "Flame Burst", Type.FIRE, MoveCategory.SPECIAL, 70, 100, 15, "", "May also injure nearby Pokémon.", -1, 5), + new Move(Moves.SLUDGE_WAVE, "Sludge Wave", Type.POISON, MoveCategory.SPECIAL, 95, 100, 10, "", "May poison opponent.", 10, 5), + new Move(Moves.QUIVER_DANCE, "Quiver Dance", Type.BUG, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Special Attack, Special Defense and Speed.", -1, 5), + new Move(Moves.HEAVY_SLAM, "Heavy Slam", Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, "TM121", "The heavier the user, the stronger the attack.", -1, 5), + new Move(Moves.SYNCHRONOISE, "Synchronoise", Type.PSYCHIC, MoveCategory.SPECIAL, 120, 100, 10, "", "Hits any Pokémon that shares a type with the user.", -1, 5), + new Move(Moves.ELECTRO_BALL, "Electro Ball", Type.ELECTRIC, MoveCategory.SPECIAL, -1, 100, 10, "TM72", "The faster the user, the stronger the attack.", -1, 5), + new Move(Moves.SOAK, "Soak", Type.WATER, MoveCategory.STATUS, -1, 100, 20, "", "Changes the target's type to water.", -1, 5), + new Move(Moves.FLAME_CHARGE, "Flame Charge", Type.FIRE, MoveCategory.PHYSICAL, 50, 100, 20, "TM38", "Raises user's Speed.", 100, 5), + new Move(Moves.COIL, "Coil", Type.POISON, MoveCategory.STATUS, -1, -1, 20, "", "Raises user's Attack, Defense and Accuracy.", -1, 5), + new Move(Moves.LOW_SWEEP, "Low Sweep", Type.FIGHTING, MoveCategory.PHYSICAL, 65, 100, 20, "TM39", "Lowers opponent's Speed.", 100, 5), + new Move(Moves.ACID_SPRAY, "Acid Spray", Type.POISON, MoveCategory.SPECIAL, 40, 100, 20, "TM13", "Sharply lowers opponent's Special Defense.", 100, 5), + new Move(Moves.FOUL_PLAY, "Foul Play", Type.DARK, MoveCategory.PHYSICAL, 95, 100, 15, "TM62", "Uses the opponent's Attack stat.", -1, 5), + new Move(Moves.SIMPLE_BEAM, "Simple Beam", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "Changes target's ability to Simple.", -1, 5), + new Move(Moves.ENTRAINMENT, "Entrainment", Type.NORMAL, MoveCategory.STATUS, -1, 100, 15, "", "Makes target's ability same as user's.", -1, 5), + new Move(Moves.AFTER_YOU, "After You", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Gives target priority in the next turn.", -1, 5), + new Move(Moves.ROUND, "Round", Type.NORMAL, MoveCategory.SPECIAL, 60, 100, 15, "", "Power increases if teammates use it in the same turn.", -1, 5), + new Move(Moves.ECHOED_VOICE, "Echoed Voice", Type.NORMAL, MoveCategory.SPECIAL, 40, 100, 15, "", "Power increases each turn.", -1, 5), + new Move(Moves.CHIP_AWAY, "Chip Away", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 20, "", "Ignores opponent's stat changes.", -1, 5), + new Move(Moves.CLEAR_SMOG, "Clear Smog", Type.POISON, MoveCategory.SPECIAL, 50, -1, 15, "", "Removes all of the target's stat changes.", -1, 5), + new Move(Moves.STORED_POWER, "Stored Power", Type.PSYCHIC, MoveCategory.SPECIAL, 20, 100, 10, "TM41", "Power increases when user's stats have been raised.", -1, 5), + new Move(Moves.QUICK_GUARD, "Quick Guard", Type.FIGHTING, MoveCategory.STATUS, -1, -1, 15, "", "Protects the user's team from high-priority moves.", -1, 5), + new Move(Moves.ALLY_SWITCH, "Ally Switch", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 15, "", "User switches with opposite teammate.", -1, 5), + new Move(Moves.SCALD, "Scald", Type.WATER, MoveCategory.SPECIAL, 80, 100, 15, "", "May burn opponent.", 30, 5), + new Move(Moves.SHELL_SMASH, "Shell Smash", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Sharply raises user's Attack, Special Attack and Speed but lowers Defense and Special Defense.", -1, 5), + new Move(Moves.HEAL_PULSE, "Heal Pulse", Type.PSYCHIC, MoveCategory.STATUS, -1, -1, 10, "", "Restores half the target's max HP.", -1, 5), + new Move(Moves.HEX, "Hex", Type.GHOST, MoveCategory.SPECIAL, 65, 100, 10, "TM29", "Inflicts more damage if the target has a status condition.", -1, 5), + new Move(Moves.SKY_DROP, "Sky Drop", Type.FLYING, MoveCategory.PHYSICAL, 60, 100, 10, "", "Takes opponent into the air on first turn, drops them on second turn.", -1, 5), + new Move(Moves.SHIFT_GEAR, "Shift Gear", Type.STEEL, MoveCategory.STATUS, -1, -1, 10, "", "Raises user's Attack and sharply raises Speed.", -1, 5), + new Move(Moves.CIRCLE_THROW, "Circle Throw", Type.FIGHTING, MoveCategory.PHYSICAL, 60, 90, 10, "", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 5), + new Move(Moves.INCINERATE, "Incinerate", Type.FIRE, MoveCategory.SPECIAL, 60, 100, 15, "", "Destroys the target's held berry.", -1, 5), + new Move(Moves.QUASH, "Quash", Type.DARK, MoveCategory.STATUS, -1, 100, 15, "", "Makes the target act last this turn.", -1, 5), + new Move(Moves.ACROBATICS, "Acrobatics", Type.FLYING, MoveCategory.PHYSICAL, 55, 100, 15, "TM14", "Stronger when the user does not have a held item.", -1, 5), + new Move(Moves.REFLECT_TYPE, "Reflect Type", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "User becomes the target's type.", -1, 5), + new Move(Moves.RETALIATE, "Retaliate", Type.NORMAL, MoveCategory.PHYSICAL, 70, 100, 5, "", "Inflicts double damage if a teammate fainted on the last turn.", -1, 5), + new Move(Moves.FINAL_GAMBIT, "Final Gambit", Type.FIGHTING, MoveCategory.SPECIAL, -1, 100, 5, "", "Inflicts damage equal to the user's remaining HP. User faints.", -1, 5), + new Move(Moves.BESTOW, "Bestow", Type.NORMAL, MoveCategory.STATUS, -1, -1, 15, "", "Gives the user's held item to the target.", -1, 5), + new Move(Moves.INFERNO, "Inferno", Type.FIRE, MoveCategory.SPECIAL, 100, 50, 5, "", "Burns opponent.", 100, 5), + new Move(Moves.WATER_PLEDGE, "Water Pledge", Type.WATER, MoveCategory.SPECIAL, 80, 100, 10, "TM145", "Added effects appear if preceded by Fire Pledge or succeeded by Grass Pledge.", -1, 5), + new Move(Moves.FIRE_PLEDGE, "Fire Pledge", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 10, "TM144", "Added effects appear if combined with Grass Pledge or Water Pledge.", -1, 5), + new Move(Moves.GRASS_PLEDGE, "Grass Pledge", Type.GRASS, MoveCategory.SPECIAL, 80, 100, 10, "TM146", "Added effects appear if preceded by Water Pledge or succeeded by Fire Pledge.", -1, 5), + new Move(Moves.VOLT_SWITCH, "Volt Switch", Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 20, "TM48", "User must switch out after attacking.", -1, 5), + new Move(Moves.STRUGGLE_BUG, "Struggle Bug", Type.BUG, MoveCategory.SPECIAL, 50, 100, 20, "TM15", "Lowers opponent's Special Attack.", 100, 5), + new Move(Moves.BULLDOZE, "Bulldoze", Type.GROUND, MoveCategory.PHYSICAL, 60, 100, 20, "TM28", "Lowers opponent's Speed.", 100, 5), + new Move(Moves.FROST_BREATH, "Frost Breath", Type.ICE, MoveCategory.SPECIAL, 60, 90, 10, "", "Always results in a critical hit.", 100, 5), + new Move(Moves.DRAGON_TAIL, "Dragon Tail", Type.DRAGON, MoveCategory.PHYSICAL, 60, 90, 10, "TM44", "In battles, the opponent switches. In the wild, the Pokémon runs.", -1, 5), + new Move(Moves.WORK_UP, "Work Up", Type.NORMAL, MoveCategory.STATUS, -1, -1, 30, "", "Raises user's Attack and Special Attack.", -1, 5), + new Move(Moves.ELECTROWEB, "Electroweb", Type.ELECTRIC, MoveCategory.SPECIAL, 55, 95, 15, "", "Lowers opponent's Speed.", 100, 5), + new Move(Moves.WILD_CHARGE, "Wild Charge", Type.ELECTRIC, MoveCategory.PHYSICAL, 90, 100, 15, "TM147", "User receives recoil damage.", -1, 5), + new Move(Moves.DRILL_RUN, "Drill Run", Type.GROUND, MoveCategory.PHYSICAL, 80, 95, 10, "TM106", "High critical hit ratio.", -1, 5), + new Move(Moves.DUAL_CHOP, "Dual Chop", Type.DRAGON, MoveCategory.PHYSICAL, 40, 90, 15, "", "Hits twice in one turn.", -1, 5), + new Move(Moves.HEART_STAMP, "Heart Stamp", Type.PSYCHIC, MoveCategory.PHYSICAL, 60, 100, 25, "", "May cause flinching.", 30, 5), + new Move(Moves.HORN_LEECH, "Horn Leech", Type.GRASS, MoveCategory.PHYSICAL, 75, 100, 10, "", "User recovers half the HP inflicted on opponent.", -1, 5), + new Move(Moves.SACRED_SWORD, "Sacred Sword", Type.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 15, "", "Ignores opponent's stat changes.", -1, 5), + new Move(Moves.RAZOR_SHELL, "Razor Shell", Type.WATER, MoveCategory.PHYSICAL, 75, 95, 10, "", "May lower opponent's Defense.", 50, 5), + new Move(Moves.HEAT_CRASH, "Heat Crash", Type.FIRE, MoveCategory.PHYSICAL, -1, 100, 10, "", "The heavier the user, the stronger the attack.", -1, 5), + new Move(Moves.LEAF_TORNADO, "Leaf Tornado", Type.GRASS, MoveCategory.SPECIAL, 65, 90, 10, "", "May lower opponent's Accuracy.", 50, 5), + new Move(Moves.STEAMROLLER, "Steamroller", Type.BUG, MoveCategory.PHYSICAL, 65, 100, 20, "", "May cause flinching.", 30, 5), + new Move(Moves.COTTON_GUARD, "Cotton Guard", Type.GRASS, MoveCategory.STATUS, -1, -1, 10, "", "Drastically raises user's Defense.", -1, 5), + new Move(Moves.NIGHT_DAZE, "Night Daze", Type.DARK, MoveCategory.SPECIAL, 85, 95, 10, "", "May lower opponent's Accuracy.", 40, 5), + new Move(Moves.PSYSTRIKE, "Psystrike", Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 10, "", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5), + new Move(Moves.TAIL_SLAP, "Tail Slap", Type.NORMAL, MoveCategory.PHYSICAL, 25, 85, 10, "", "Hits 2-5 times in one turn.", -1, 5), + new Move(Moves.HURRICANE, "Hurricane", Type.FLYING, MoveCategory.SPECIAL, 110, 70, 10, "TM160", "May confuse opponent.", 30, 5), + new Move(Moves.HEAD_CHARGE, "Head Charge", Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, "", "User receives recoil damage.", -1, 5), + new Move(Moves.GEAR_GRIND, "Gear Grind", Type.STEEL, MoveCategory.PHYSICAL, 50, 85, 15, "", "Hits twice in one turn.", -1, 5), + new Move(Moves.SEARING_SHOT, "Searing Shot", Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, "", "May burn opponent.", 30, 5), + new Move(Moves.TECHNO_BLAST, "Techno Blast", Type.NORMAL, MoveCategory.SPECIAL, 120, 100, 5, "", "Type depends on the Drive being held.", -1, 5), + new Move(Moves.RELIC_SONG, "Relic Song", Type.NORMAL, MoveCategory.SPECIAL, 75, 100, 10, "", "May put the target to sleep.", 10, 5), + new Move(Moves.SECRET_SWORD, "Secret Sword", Type.FIGHTING, MoveCategory.SPECIAL, 85, 100, 10, "", "Inflicts damage based on the target's Defense, not Special Defense.", -1, 5), + new Move(Moves.GLACIATE, "Glaciate", Type.ICE, MoveCategory.SPECIAL, 65, 95, 10, "", "Lowers opponent's Speed.", 100, 5), + new Move(Moves.BOLT_STRIKE, "Bolt Strike", Type.ELECTRIC, MoveCategory.PHYSICAL, 130, 85, 5, "", "May paralyze opponent.", 20, 5), + new Move(Moves.BLUE_FLARE, "Blue Flare", Type.FIRE, MoveCategory.SPECIAL, 130, 85, 5, "", "May burn opponent.", 20, 5), + new Move(Moves.FIERY_DANCE, "Fiery Dance", Type.FIRE, MoveCategory.SPECIAL, 80, 100, 10, "", "May raise user's Special Attack.", 50, 5), + new Move(Moves.FREEZE_SHOCK, "Freeze Shock", Type.ICE, MoveCategory.PHYSICAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May paralyze opponent.", 30, 5), + new Move(Moves.ICE_BURN, "Ice Burn", Type.ICE, MoveCategory.SPECIAL, 140, 90, 5, "", "Charges on first turn, attacks on second. May burn opponent.", 30, 5), + new Move(Moves.SNARL, "Snarl", Type.DARK, MoveCategory.SPECIAL, 55, 95, 15, "TM30", "Lowers opponent's Special Attack.", 100, 5), + new Move(Moves.ICICLE_CRASH, "Icicle Crash", Type.ICE, MoveCategory.PHYSICAL, 85, 90, 10, "", "May cause flinching.", 30, 5), + new Move(Moves.V_CREATE, "V-create", Type.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, "", "Lowers user's Defense, Special Defense and Speed.", 100, 5), + new Move(Moves.FUSION_FLARE, "Fusion Flare", Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, "", "Power increases if Fusion Bolt is used in the same turn.", -1, 5), + new Move(Moves.FUSION_BOLT, "Fusion Bolt", Type.ELECTRIC, MoveCategory.PHYSICAL, 100, 100, 5, "", "Power increases if Fusion Flare is used in the same turn.", -1, 5) +]; \ No newline at end of file diff --git a/src/pokemon.ts b/src/pokemon.ts index 6c3856d24..196e02735 100644 --- a/src/pokemon.ts +++ b/src/pokemon.ts @@ -13,6 +13,7 @@ import { PokemonBaseStatModifier as PokemonBaseStatBoosterModifier, ShinyRateBoo import { PokeballType } from './pokeball'; import { Gender } from './gender'; import { Anim, initAnim, loadMoveAnimAssets, moveAnims } from './battle-anims'; +import { StatusEffect } from './status-effect'; export default abstract class Pokemon extends Phaser.GameObjects.Container { public id: integer; @@ -29,8 +30,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { public stats: integer[]; public ivs: integer[]; public moveset: PokemonMove[]; + public status: StatusEffect; public winCount: integer; + public summonData: PokemonSummonData; + public battleSummonData: PokemonBattleSummonData; + public turnData: PokemonTurnData; + private shinySparkle: Phaser.GameObjects.Sprite; constructor(scene: BattleScene, x: number, y: number, species: PokemonSpecies, level: integer, dataSource?: Pokemon) { @@ -52,6 +58,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.stats = dataSource.stats; this.ivs = dataSource.ivs; this.moveset = dataSource.moveset; + this.status = dataSource.status; this.winCount = dataSource.winCount; } else { this.generateAndPopulateMoveset(); @@ -96,6 +103,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { /*else this.shiny = Utils.randInt(16) === 0;*/ + this.status = StatusEffect.NONE; + this.winCount = 0; } @@ -476,6 +485,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); } + resetSummonData() { + this.summonData = new PokemonSummonData(); + this.resetBattleSummonData(); + } + + resetBattleSummonData() { + this.battleSummonData = new PokemonBattleSummonData(); + } + + resetTurnData() { + this.turnData = new PokemonTurnData(); + } + getExpValue(victor: Pokemon): integer { return ((this.species.baseExp * this.level) / 5) * ((Math.round(Math.sqrt(2 * this.level + 10)) * Math.pow(2 * this.level + 10, 2)) / (Math.round(Math.sqrt(this.level + victor.level + 10)) * Math.pow(this.level + victor.level + 10, 2))) + 1; } @@ -639,6 +661,19 @@ export class EnemyPokemon extends Pokemon { } } +export class PokemonSummonData { + public confusionTurns: integer; +} + +export class PokemonBattleSummonData { + public infatuated: boolean; +} + +export class PokemonTurnData { + public flinched: boolean; + public hitsLeft: integer; +} + export enum AiType { RANDOM, SMART_RANDOM, diff --git a/src/status-effect.ts b/src/status-effect.ts new file mode 100644 index 000000000..0185ca7b9 --- /dev/null +++ b/src/status-effect.ts @@ -0,0 +1,18 @@ +export enum StatusEffect { + NONE, + POISON, + TOXIC, + PARALYSIS, + SLEEP, + FREEZE, + BURN +} + +export class Status { + public statusType: StatusEffect; + public turnCount: integer; + + constructor(statusType: StatusEffect) { + this.statusType = statusType; + } +} \ No newline at end of file diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts index f96394897..230c1753f 100644 --- a/src/ui/fight-ui-handler.ts +++ b/src/ui/fight-ui-handler.ts @@ -92,13 +92,22 @@ export default class FightUiHandler extends UiHandler { ui.add(this.cursorObj); } - const pokemonMove = (this.scene as BattleScene).getPlayerPokemon().moveset[cursor]; - this.typeIcon.setTexture('types', Type[pokemonMove.getMove().type].toLowerCase()); + const moveset = (this.scene as BattleScene).getPlayerPokemon().moveset; - const maxPP = pokemonMove.getMove().pp + pokemonMove.ppUp; - const pp = maxPP - pokemonMove.ppUsed; + const hasMove = cursor < moveset.length; - this.ppText.setText(`${Utils.padInt(pp, 2, ' ')}/${Utils.padInt(maxPP, 2, ' ')}`); + if (hasMove) { + const pokemonMove = moveset[cursor]; + this.typeIcon.setTexture('types', Type[pokemonMove.getMove().type].toLowerCase()); + + const maxPP = pokemonMove.getMove().pp + pokemonMove.ppUp; + const pp = maxPP - pokemonMove.ppUsed; + + this.ppText.setText(`${Utils.padInt(pp, 2, ' ')}/${Utils.padInt(maxPP, 2, ' ')}`); + } + + this.typeIcon.setVisible(hasMove); + this.ppText.setVisible(hasMove); this.cursorObj.setPosition(13 + (cursor % 2 === 1 ? 100 : 0), -31 + (cursor >= 2 ? 15 : 0));