From 4a49ff848a653ff3a3dd6d9a2347eccba7328dfc Mon Sep 17 00:00:00 2001 From: Greenlamp Date: Mon, 6 May 2024 01:27:34 +0200 Subject: [PATCH 01/38] allow 2 button to be pressed at the same time --- src/inputs-controller.ts | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts index 83182629d05..5f561535855 100644 --- a/src/inputs-controller.ts +++ b/src/inputs-controller.ts @@ -31,6 +31,7 @@ export class InputsController { // buttonLock ensures only a single movement key is firing repeated inputs // (i.e. by holding down a button) at a time private buttonLock: Button; + private buttonLock2: Button; private interactions: Map> = new Map(); private time: Time; private player: Map = new Map(); @@ -87,7 +88,8 @@ export class InputsController { } update(): void { - for (const b of Utils.getEnumValues(Button)) { + // reversed to let the cancel button have a kinda priority on the action button + for (const b of Utils.getEnumValues(Button).reverse()) { if (!this.interactions.hasOwnProperty(b)) continue; if (this.repeatInputDurationJustPassed(b) && this.interactions[b].isPressed) { this.events.emit('input_down', { @@ -243,35 +245,50 @@ export class InputsController { * firing a repeated input - this is to prevent multiple buttons from firing repeatedly. */ repeatInputDurationJustPassed(button: Button): boolean { - if (this.buttonLock === null || this.buttonLock !== button) { - return false; - } + if (!this.isButtonLocked(button)) return false; if (this.time.now - this.interactions[button].pressTime >= repeatInputDelayMillis) { - this.buttonLock = null; return true; } } setLastProcessedMovementTime(button: Button): void { if (!this.interactions.hasOwnProperty(button)) return; - this.buttonLock = button; + this.setButtonLock(button); this.interactions[button].pressTime = this.time.now; this.interactions[button].isPressed = true; } delLastProcessedMovementTime(button: Button): void { if (!this.interactions.hasOwnProperty(button)) return; - this.buttonLock = null; + this.releaseButtonLock(button); this.interactions[button].pressTime = null; this.interactions[button].isPressed = false; } deactivatePressedKey(): void { - this.buttonLock = null; + this.releaseButtonLock(this.buttonLock); + this.releaseButtonLock(this.buttonLock2); for (const b of Utils.getEnumValues(Button)) { if (!this.interactions.hasOwnProperty(b)) return; this.interactions[b].pressTime = null; this.interactions[b].isPressed = false; } } + + isButtonLocked(button: Button): boolean { + return (this.buttonLock === button || this.buttonLock2 === button); + } + + setButtonLock(button: Button): void { + if (this.buttonLock === button || this.buttonLock2 === button) return; + if (this.buttonLock === button) this.buttonLock2 = button; + else if (this.buttonLock2 === button) this.buttonLock = button; + else if(!!this.buttonLock) this.buttonLock2 = button; + else this.buttonLock = button; + } + + releaseButtonLock(button: Button): void { + if (this.buttonLock === button) this.buttonLock = null; + else if (this.buttonLock2 === button) this.buttonLock2 = null; + } } \ No newline at end of file From 67ee104178b51698f581b696402e5cbd3480eadd Mon Sep 17 00:00:00 2001 From: LaukkaE <73663099+LaukkaE@users.noreply.github.com> Date: Mon, 6 May 2024 03:26:11 +0300 Subject: [PATCH 02/38] Fix Protosynthesis and Quark Drive (#289) * Fix Protosynthesis and Quark Drive * add partial tags --- src/data/ability.ts | 6 ++++-- src/data/battler-tags.ts | 2 +- src/field/pokemon.ts | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index ff183a28432..eec1240e1d3 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3511,13 +3511,15 @@ export function initAbilities() { .attr(PostWeatherChangeAddBattlerTagAttr, BattlerTagType.PROTOSYNTHESIS, 0, WeatherType.SUNNY, WeatherType.HARSH_SUN) .attr(UncopiableAbilityAbAttr) .attr(UnswappableAbilityAbAttr) - .attr(NoTransformAbilityAbAttr), + .attr(NoTransformAbilityAbAttr) + .partial(), // While setting the tag, the getbattlestat should ignore all modifiers to stats except stat stages new Ability(Abilities.QUARK_DRIVE, 9) .conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), PostSummonAddBattlerTagAbAttr, BattlerTagType.QUARK_DRIVE, 0, true) .attr(PostTerrainChangeAddBattlerTagAttr, BattlerTagType.QUARK_DRIVE, 0, TerrainType.ELECTRIC) .attr(UncopiableAbilityAbAttr) .attr(UnswappableAbilityAbAttr) - .attr(NoTransformAbilityAbAttr), + .attr(NoTransformAbilityAbAttr) + .partial(), // While setting the tag, the getbattlestat should ignore all modifiers to stats except stat stages new Ability(Abilities.GOOD_AS_GOLD, 9) .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().category === MoveCategory.STATUS) .ignorable() diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 183306d5066..0fea80c3759 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -920,7 +920,7 @@ export class HighestStatBoostTag extends AbilityBattlerTag { stats.map(s => pokemon.getBattleStat(s)).reduce((highestValue: integer, value: integer, i: integer) => { if (value > highestValue) { highestStat = stats[i]; - return highestValue += value; + return value; } return highestValue; }, 0); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 606185e0984..b20096513ef 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -19,7 +19,7 @@ import { pokemonEvolutions, pokemonPrevolutions, SpeciesFormEvolution, SpeciesEv import { reverseCompatibleTms, tmSpecies } from '../data/tms'; import { DamagePhase, FaintPhase, LearnMovePhase, ObtainStatusEffectPhase, StatChangePhase, SwitchSummonPhase } from '../phases'; import { BattleStat } from '../data/battle-stat'; -import { BattlerTag, BattlerTagLapseType, EncoreTag, HelpingHandTag, TypeBoostTag, getBattlerTag } from '../data/battler-tags'; +import { BattlerTag, BattlerTagLapseType, EncoreTag, HelpingHandTag, HighestStatBoostTag, TypeBoostTag, getBattlerTag } from '../data/battler-tags'; import { BattlerTagType } from "../data/enums/battler-tag-type"; import { Species } from '../data/enums/species'; import { WeatherType } from '../data/weather'; @@ -600,7 +600,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { ret >>= 1; break; } - + + const highestStatBoost = this.findTag(t => t instanceof HighestStatBoostTag && (t as HighestStatBoostTag).stat === stat) as HighestStatBoostTag; + if (highestStatBoost) + ret *= highestStatBoost.multiplier; + return Math.floor(ret); } From 700b79e0c3f1816843aa74201bf865d360e53736 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Sun, 5 May 2024 19:29:54 -0500 Subject: [PATCH 03/38] Update egg moves The latest in egg move changes. As usual, if there are any complaints, direct them toward the egg move discussion thread on the Discord. --- src/data/egg-moves.ts | 150 +++++++++++++++++++++--------------------- 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/src/data/egg-moves.ts b/src/data/egg-moves.ts index ca54b693c80..6dd26a7d547 100644 --- a/src/data/egg-moves.ts +++ b/src/data/egg-moves.ts @@ -5,18 +5,18 @@ import * as Utils from "../utils"; export const speciesEggMoves = { - [Species.BULBASAUR]: [ Moves.STRENGTH_SAP, Moves.SLUDGE_BOMB, Moves.EARTH_POWER, Moves.SAPPY_SEED ], + [Species.BULBASAUR]: [ Moves.GIGA_DRAIN, Moves.SLUDGE_BOMB, Moves.EARTH_POWER, Moves.SAPPY_SEED ], [Species.CHARMANDER]: [ Moves.DRAGON_DANCE, Moves.BITTER_BLADE, Moves.EARTH_POWER, Moves.OBLIVION_WING ], [Species.SQUIRTLE]: [ Moves.ICE_BEAM, Moves.DARK_PULSE, Moves.BOUNCY_BUBBLE, Moves.ORIGIN_PULSE ], [Species.CATERPIE]: [ Moves.EARTH_POWER, Moves.SILK_TRAP, Moves.STICKY_WEB, Moves.BLEAKWIND_STORM ], [Species.WEEDLE]: [ Moves.DRILL_RUN, Moves.SWORDS_DANCE, Moves.BANEFUL_BUNKER, Moves.BARB_BARRAGE ], [Species.PIDGEY]: [ Moves.HEAT_WAVE, Moves.FOCUS_BLAST, Moves.U_TURN, Moves.WILDBOLT_STORM ], [Species.RATTATA]: [ Moves.HYPER_FANG, Moves.PSYCHIC_FANGS, Moves.FIRE_FANG, Moves.EXTREME_SPEED ], - [Species.SPEAROW]: [ Moves.DUAL_WINGBEAT, Moves.SUCKER_PUNCH, Moves.PARTING_SHOT, Moves.HYPER_DRILL ], + [Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.EXTREME_SPEED, Moves.TIDY_UP, Moves.TRIPLE_ARROWS ], [Species.EKANS]: [ Moves.SHED_TAIL, Moves.DRAGON_DANCE, Moves.SLACK_OFF, Moves.NOXIOUS_TORQUE ], [Species.SANDSHREW]: [ Moves.DIRE_CLAW, Moves.CEASELESS_EDGE, Moves.SHORE_UP, Moves.PRECIPICE_BLADES ], - [Species.NIDORAN_F]: [ Moves.SCALD, Moves.SHORE_UP, Moves.CALM_MIND, Moves.BANEFUL_BUNKER ], - [Species.NIDORAN_M]: [ Moves.DARK_PULSE, Moves.SHORE_UP, Moves.CALM_MIND, Moves.KINGS_SHIELD ], + [Species.NIDORAN_F]: [ Moves.DIRE_CLAW, Moves.SHORE_UP, Moves.THOUSAND_WAVES, Moves.SALT_CURE ], + [Species.NIDORAN_M]: [ Moves.NOXIOUS_TORQUE, Moves.KINGS_SHIELD, Moves.NO_RETREAT, Moves.PRECIPICE_BLADES ], [Species.VULPIX]: [ Moves.MOONBLAST, Moves.PSYCHIC, Moves.MORNING_SUN, Moves.TAIL_GLOW ], [Species.ZUBAT]: [ Moves.FLOATY_FALL, Moves.DIRE_CLAW, Moves.SWORDS_DANCE, Moves.BRAVE_BIRD ], [Species.ODDISH]: [ Moves.SLUDGE_BOMB, Moves.FIERY_DANCE, Moves.STRENGTH_SAP, Moves.SPORE ], @@ -28,24 +28,24 @@ export const speciesEggMoves = { [Species.MANKEY]: [ Moves.DRAIN_PUNCH, Moves.RAGING_FURY, Moves.METEOR_MASH, Moves.NO_RETREAT ], [Species.GROWLITHE]: [ Moves.ZING_ZAP, Moves.PARTING_SHOT, Moves.MORNING_SUN, Moves.SACRED_FIRE ], [Species.POLIWAG]: [ Moves.BOUNCY_BUBBLE, Moves.WILDBOLT_STORM, Moves.DRAIN_PUNCH, Moves.SURGING_STRIKES ], - [Species.ABRA]: [ Moves.MOONBLAST, Moves.EARTH_POWER, Moves.THUNDERBOLT, Moves.LUSTER_PURGE ], - [Species.MACHOP]: [ Moves.MACH_PUNCH, Moves.METEOR_MASH, Moves.FLYING_PRESS, Moves.FISSURE ], - [Species.BELLSPROUT]: [ Moves.SOLAR_BLADE, Moves.WEATHER_BALL, Moves.FIRE_LASH, Moves.STRENGTH_SAP ], + [Species.ABRA]: [ Moves.MOONBLAST, Moves.FLAMETHROWER, Moves.THUNDERBOLT, Moves.PSYSTRIKE ], + [Species.MACHOP]: [ Moves.MACH_PUNCH, Moves.METEOR_MASH, Moves.ICE_HAMMER, Moves.FISSURE ], + [Species.BELLSPROUT]: [ Moves.SOLAR_BLADE, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.VICTORY_DANCE ], [Species.TENTACOOL]: [ Moves.BANEFUL_BUNKER, Moves.STRENGTH_SAP, Moves.HAZE, Moves.MALIGNANT_CHAIN ], [Species.GEODUDE]: [ Moves.BODY_PRESS, Moves.BULK_UP, Moves.SHORE_UP, Moves.HEAD_SMASH ], - [Species.PONYTA]: [ Moves.HIGH_HORSEPOWER, Moves.FIRE_LASH, Moves.MORNING_SUN, Moves.VOLT_TACKLE ], + [Species.PONYTA]: [ Moves.HIGH_HORSEPOWER, Moves.FIRE_LASH, Moves.SWORDS_DANCE, Moves.VOLT_TACKLE ], [Species.SLOWPOKE]: [ Moves.BOUNCY_BUBBLE, Moves.PARTING_SHOT, Moves.COSMIC_POWER, Moves.LUMINA_CRASH ], - [Species.MAGNEMITE]: [ Moves.RECOVER, Moves.BODY_PRESS, Moves.ICE_BEAM, Moves.THUNDERCLAP ], + [Species.MAGNEMITE]: [ Moves.PARABOLIC_CHARGE, Moves.BODY_PRESS, Moves.ICE_BEAM, Moves.THUNDERCLAP ], [Species.FARFETCHD]: [ Moves.BATON_PASS, Moves.SACRED_SWORD, Moves.ROOST, Moves.VICTORY_DANCE ], - [Species.DODUO]: [ Moves.TRIPLE_AXEL, Moves.HEAD_CHARGE, Moves.BRAVE_BIRD, Moves.TRIPLE_ARROWS ], + [Species.DODUO]: [ Moves.TRIPLE_AXEL, Moves.MULTI_ATTACK, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ], [Species.SEEL]: [ Moves.FREEZE_DRY, Moves.CHILLY_RECEPTION, Moves.SLACK_OFF, Moves.BOUNCY_BUBBLE ], [Species.GRIMER]: [ Moves.SHADOW_SNEAK, Moves.CURSE, Moves.STRENGTH_SAP, Moves.NOXIOUS_TORQUE ], - [Species.SHELLDER]: [ Moves.BODY_PRESS, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.RECOVER ], + [Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ], [Species.GASTLY]: [ Moves.FROST_BREATH, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.MALIGNANT_CHAIN ], [Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAD_SMASH, Moves.SPIN_OUT ], [Species.DROWZEE]: [ Moves.DREAM_EATER, Moves.RECOVER, Moves.NIGHTMARE, Moves.SPORE ], - [Species.KRABBY]: [ Moves.MOUNTAIN_GALE, Moves.LIQUIDATION, Moves.SHORE_UP, Moves.SHELL_SMASH ], - [Species.VOLTORB]: [ Moves.BUZZY_BUZZ, Moves.VOLT_SWITCH, Moves.ENERGY_BALL, Moves.NASTY_PLOT ], + [Species.KRABBY]: [ Moves.ICICLE_CRASH, Moves.LIQUIDATION, Moves.IVY_CUDGEL, Moves.SHELL_SMASH ], + [Species.VOLTORB]: [ Moves.BUZZY_BUZZ, Moves.OVERHEAT, Moves.FROST_BREATH, Moves.TAIL_GLOW ], [Species.EXEGGCUTE]: [ Moves.MYSTICAL_POWER, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.FICKLE_BEAM ], [Species.CUBONE]: [ Moves.HEAD_SMASH, Moves.WOOD_HAMMER, Moves.PAIN_SPLIT, Moves.VOLT_TACKLE ], [Species.LICKITUNG]: [ Moves.BODY_SLAM, Moves.FIRE_LASH, Moves.GRAV_APPLE, Moves.MILK_DRINK ], @@ -53,7 +53,7 @@ export const speciesEggMoves = { [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.WAVE_CRASH, Moves.FLARE_BLITZ, Moves.HEAD_SMASH ], [Species.TANGELA]: [ Moves.STRENGTH_SAP, Moves.INFESTATION, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.BREAKING_SWIPE, Moves.RETURN, Moves.SEISMIC_TOSS ], - [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.NASTY_PLOT, Moves.HURRICANE, Moves.SPACIAL_REND ], + [Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.FROST_BREATH, Moves.HURRICANE, Moves.DRAGON_ENERGY ], [Species.GOLDEEN]: [ Moves.DRILL_RUN, Moves.FLIP_TURN, Moves.DRAGON_DANCE, Moves.FISHIOUS_REND ], [Species.STARYU]: [ Moves.CALM_MIND, Moves.BOUNCY_BUBBLE, Moves.MOONBLAST, Moves.MYSTICAL_POWER ], [Species.SCYTHER]: [ Moves.GEAR_GRIND, Moves.BUG_BITE, Moves.STORM_THROW, Moves.MIGHTY_CLEAVE ], @@ -64,11 +64,11 @@ export const speciesEggMoves = { [Species.DITTO]: [ Moves.MIMIC, Moves.COPYCAT, Moves.ME_FIRST, Moves.METRONOME ], [Species.EEVEE]: [ Moves.WISH, Moves.REVELATION_DANCE, Moves.TRI_ATTACK, Moves.NO_RETREAT ], [Species.PORYGON]: [ Moves.BUZZY_BUZZ, Moves.AURA_SPHERE, Moves.TOPSY_TURVY, Moves.TECHNO_BLAST ], - [Species.OMANYTE]: [ Moves.SCALD, Moves.EARTH_POWER, Moves.POWER_GEM, Moves.STRENGTH_SAP ], + [Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.EARTH_POWER, Moves.POWER_GEM, Moves.STEAM_ERUPTION ], [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.DRILL_RUN, Moves.AQUA_CUTTER, Moves.MIGHTY_CLEAVE ], [Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HEAD_SMASH, Moves.SWORDS_DANCE, Moves.MIGHTY_CLEAVE ], [Species.ARTICUNO]: [ Moves.AURA_SPHERE, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ], - [Species.ZAPDOS]: [ Moves.WEATHER_BALL, Moves.CALM_MIND, Moves.SPIKY_SHIELD, Moves.ELECTRO_SHOT ], + [Species.ZAPDOS]: [ Moves.WEATHER_BALL, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ], [Species.MOLTRES]: [ Moves.SCORCHING_SANDS, Moves.CALM_MIND, Moves.BURNING_BULWARK, Moves.TORCH_SONG ], [Species.DRATINI]: [ Moves.DRAGON_HAMMER, Moves.METEOR_MASH, Moves.FIRE_LASH, Moves.FLOATY_FALL ], [Species.MEWTWO]: [ Moves.METEOR_MASH, Moves.MOONBLAST, Moves.PLASMA_FISTS, Moves.PHOTON_GEYSER ], @@ -86,7 +86,7 @@ export const speciesEggMoves = { [Species.IGGLYBUFF]: [ Moves.MOONBLAST, Moves.APPLE_ACID, Moves.WISH, Moves.BOOMBURST ], [Species.TOGEPI]: [ Moves.SCORCHING_SANDS, Moves.ROOST, Moves.MOONBLAST, Moves.FIERY_DANCE ], [Species.NATU]: [ Moves.AEROBLAST, Moves.ROOST, Moves.CALM_MIND, Moves.LUMINA_CRASH ], - [Species.MAREEP]: [ Moves.ICE_BEAM, Moves.MILK_DRINK, Moves.DRAGON_ENERGY, Moves.TAIL_GLOW ], + [Species.MAREEP]: [ Moves.ICE_BEAM, Moves.PARABOLIC_CHARGE, Moves.DRAGON_ENERGY, Moves.TAIL_GLOW ], [Species.HOPPIP]: [ Moves.AIR_SLASH, Moves.STRENGTH_SAP, Moves.QUIVER_DANCE, Moves.SEED_FLARE ], [Species.AIPOM]: [ Moves.TIDY_UP, Moves.STORM_THROW, Moves.FAKE_OUT, Moves.POPULATION_BOMB ], [Species.SUNKERN]: [ Moves.SPORE, Moves.SAPPY_SEED, Moves.FIERY_DANCE, Moves.HYDRO_STEAM ], @@ -124,31 +124,31 @@ export const speciesEggMoves = { [Species.ENTEI]: [ Moves.BURNING_BULWARK, Moves.DRAGON_DANCE, Moves.EARTHQUAKE, Moves.MIGHTY_CLEAVE ], [Species.SUICUNE]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.FREEZE_DRY, Moves.BOUNCY_BUBBLE ], [Species.LARVITAR]: [ Moves.DRAGON_DANCE, Moves.MOUNTAIN_GALE, Moves.MIGHTY_CLEAVE, Moves.SHORE_UP ], - [Species.LUGIA]: [ Moves.COSMIC_POWER, Moves.STORED_POWER, Moves.SCALD, Moves.OBLIVION_WING ], + [Species.LUGIA]: [ Moves.TAKE_HEART, Moves.STORED_POWER, Moves.SCALD, Moves.OBLIVION_WING ], [Species.HO_OH]: [ Moves.BURNING_BULWARK, Moves.U_TURN, Moves.BRAVE_BIRD, Moves.REVIVAL_BLESSING ], [Species.CELEBI]: [ Moves.MYSTICAL_POWER, Moves.STORED_POWER, Moves.COSMIC_POWER, Moves.SEED_FLARE ], [Species.TREECKO]: [ Moves.DRAGON_PULSE, Moves.DRAGON_ENERGY, Moves.SECRET_SWORD, Moves.SEED_FLARE ], - [Species.TORCHIC]: [ Moves.THUNDEROUS_KICK, Moves.POWER_UP_PUNCH, Moves.KNOCK_OFF, Moves.SACRED_FIRE ], - [Species.MUDKIP]: [ Moves.SHORE_UP, Moves.ICICLE_CRASH, Moves.BULK_UP, Moves.WAVE_CRASH ], + [Species.TORCHIC]: [ Moves.HIGH_JUMP_KICK, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.V_CREATE ], + [Species.MUDKIP]: [ Moves.SHORE_UP, Moves.ICICLE_CRASH, Moves.BULK_UP, Moves.SURGING_STRIKES ], [Species.POOCHYENA]: [ Moves.JAW_LOCK, Moves.PSYCHIC_FANGS, Moves.POISON_FANG, Moves.NO_RETREAT ], [Species.ZIGZAGOON]: [ Moves.EXTREME_SPEED, Moves.ENDURE, Moves.HIGH_HORSEPOWER, Moves.TIDY_UP ], [Species.WURMPLE]: [ Moves.BATON_PASS, Moves.BLEAKWIND_STORM, Moves.STICKY_WEB, Moves.MALIGNANT_CHAIN ], [Species.LOTAD]: [ Moves.REVELATION_DANCE, Moves.APPLE_ACID, Moves.ICE_BEAM, Moves.QUIVER_DANCE ], [Species.SEEDOT]: [ Moves.SWORDS_DANCE, Moves.GRASSY_GLIDE, Moves.KOWTOW_CLEAVE, Moves.IVY_CUDGEL ], - [Species.TAILLOW]: [ Moves.BOOMBURST, Moves.FACADE, Moves.DRILL_RUN, Moves.VOLT_TACKLE ], + [Species.TAILLOW]: [ Moves.SWORDS_DANCE, Moves.FACADE, Moves.DRILL_RUN, Moves.EXTREME_SPEED ], [Species.WINGULL]: [ Moves.THUNDER, Moves.FLIP_TURN, Moves.DEFOG, Moves.STEAM_ERUPTION ], [Species.RALTS]: [ Moves.BOOMBURST, Moves.BITTER_BLADE, Moves.PSYBLADE, Moves.VICTORY_DANCE ], [Species.SURSKIT]: [ Moves.ROOST, Moves.FIERY_DANCE, Moves.STICKY_WEB, Moves.BLEAKWIND_STORM ], [Species.SHROOMISH]: [ Moves.ACCELEROCK, Moves.TRAILBLAZE, Moves.STORM_THROW, Moves.SAPPY_SEED ], [Species.SLAKOTH]: [ Moves.FACADE, Moves.JUMP_KICK, Moves.KNOCK_OFF, Moves.SKILL_SWAP ], - [Species.NINCADA]: [ Moves.ATTACK_ORDER, Moves.STICKY_WEB, Moves.POLTERGEIST, Moves.SHELL_SMASH ], - [Species.WHISMUR]: [ Moves.ALLURING_VOICE, Moves.SLACK_OFF, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], + [Species.NINCADA]: [ Moves.ATTACK_ORDER, Moves.STICKY_WEB, Moves.SPIRIT_SHACKLE, Moves.SHELL_SMASH ], + [Species.WHISMUR]: [ Moves.ALLURING_VOICE, Moves.TRICK_ROOM, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], [Species.MAKUHITA]: [ Moves.STORM_THROW, Moves.SLACK_OFF, Moves.HEAT_CRASH, Moves.DOUBLE_IRON_BASH ], - [Species.AZURILL]: [ Moves.SLACK_OFF, Moves.SPIRIT_BREAK, Moves.TIDY_UP, Moves.WAVE_CRASH ], + [Species.AZURILL]: [ Moves.JET_PUNCH, Moves.SPIRIT_BREAK, Moves.SWORDS_DANCE, Moves.SURGING_STRIKES ], [Species.NOSEPASS]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.CALM_MIND, Moves.TACHYON_CUTTER ], [Species.SKITTY]: [ Moves.THUNDEROUS_KICK, Moves.SKETCH, Moves.TIDY_UP, Moves.V_CREATE ], [Species.SABLEYE]: [ Moves.RECOVER, Moves.TOPSY_TURVY, Moves.PARTING_SHOT, Moves.SALT_CURE ], - [Species.MAWILE]: [ Moves.BULLET_PUNCH, Moves.RECOVER, Moves.EARTHQUAKE, Moves.DOUBLE_IRON_BASH ], + [Species.MAWILE]: [ Moves.BULLET_PUNCH, Moves.MAGICAL_TORQUE, Moves.EARTHQUAKE, Moves.DOUBLE_IRON_BASH ], [Species.ARON]: [ Moves.HEAD_SMASH, Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SALT_CURE ], [Species.MEDITITE]: [ Moves.THUNDEROUS_KICK, Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.PHOTON_GEYSER ], [Species.ELECTRIKE]: [ Moves.RISING_VOLTAGE, Moves.FLAMETHROWER, Moves.NASTY_PLOT, Moves.ICE_BEAM ], @@ -162,40 +162,40 @@ export const speciesEggMoves = { [Species.NUMEL]: [ Moves.SANDSEAR_STORM, Moves.SPIKES, Moves.SHORE_UP, Moves.SEARING_SHOT ], [Species.TORKOAL]: [ Moves.SLACK_OFF, Moves.SPIKES, Moves.BODY_PRESS, Moves.BURNING_BULWARK ], [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.COSMIC_POWER, Moves.EXPANDING_FORCE ], - [Species.SPINDA]: [ Moves.SUPERPOWER, Moves.RECOVER, Moves.FLEUR_CANNON, Moves.V_CREATE ], + [Species.SPINDA]: [ Moves.SUPERPOWER, Moves.SLACK_OFF, Moves.FLEUR_CANNON, Moves.V_CREATE ], [Species.TRAPINCH]: [ Moves.FIRE_LASH, Moves.DRAGON_DARTS, Moves.THOUSAND_ARROWS, Moves.DRAGON_ENERGY ], - [Species.CACNEA]: [ Moves.SCORCHING_SANDS, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.SAPPY_SEED ], + [Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.IVY_CUDGEL ], [Species.SWABLU]: [ Moves.ROOST, Moves.NASTY_PLOT, Moves.FLOATY_FALL, Moves.BOOMBURST ], [Species.ZANGOOSE]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.EXTREME_SPEED, Moves.TIDY_UP ], [Species.SEVIPER]: [ Moves.DIRE_CLAW, Moves.NASTY_PLOT, Moves.SUCKER_PUNCH, Moves.SHED_TAIL ], [Species.LUNATONE]: [ Moves.POWER_GEM, Moves.NIGHT_DAZE, Moves.STORED_POWER, Moves.LUMINA_CRASH ], [Species.SOLROCK]: [ Moves.PSYSHIELD_BASH, Moves.MIGHTY_CLEAVE, Moves.POWER_TRIP, Moves.SACRED_FIRE ], [Species.BARBOACH]: [ Moves.DRAGON_DANCE, Moves.SUPERCELL_SLAM, Moves.ICE_SPINNER, Moves.WAVE_CRASH ], - [Species.CORPHISH]: [ Moves.CEASELESS_EDGE, Moves.AQUA_JET, Moves.WAVE_CRASH, Moves.SHELL_SMASH ], + [Species.CORPHISH]: [ Moves.CEASELESS_EDGE, Moves.JET_PUNCH, Moves.WAVE_CRASH, Moves.SHELL_SMASH ], [Species.BALTOY]: [ Moves.RECOVER, Moves.STORED_POWER, Moves.BODY_PRESS, Moves.MYSTICAL_POWER ], - [Species.LILEEP]: [ Moves.METEOR_BEAM, Moves.SCALD, Moves.STEALTH_ROCK, Moves.SAPPY_SEED ], + [Species.LILEEP]: [ Moves.POWER_GEM, Moves.SCALD, Moves.STONE_AXE, Moves.SAPPY_SEED ], [Species.ANORITH]: [ Moves.LIQUIDATION, Moves.LEECH_LIFE, Moves.DRAGON_DANCE, Moves.MIGHTY_CLEAVE ], [Species.FEEBAS]: [ Moves.CALM_MIND, Moves.FREEZE_DRY, Moves.MOONBLAST, Moves.STEAM_ERUPTION ], [Species.CASTFORM]: [ Moves.BOOMBURST, Moves.HYDRO_STEAM, Moves.CLEAR_SMOG, Moves.QUIVER_DANCE ], [Species.KECLEON]: [ Moves.DRAIN_PUNCH, Moves.DRAGON_DANCE, Moves.EXTREME_SPEED, Moves.MULTI_ATTACK ], - [Species.SHUPPET]: [ Moves.DRAIN_PUNCH, Moves.RECOVER, Moves.PARTING_SHOT, Moves.SPECTRAL_THIEF ], - [Species.DUSKULL]: [ Moves.BULK_UP, Moves.DRAIN_PUNCH, Moves.RECOVER, Moves.RAGE_FIST ], + [Species.SHUPPET]: [ Moves.DRAIN_PUNCH, Moves.TOPSY_TURVY, Moves.PARTING_SHOT, Moves.SPECTRAL_THIEF ], + [Species.DUSKULL]: [ Moves.BULK_UP, Moves.DRAIN_PUNCH, Moves.STRENGTH_SAP, Moves.RAGE_FIST ], [Species.TROPIUS]: [ Moves.STUFF_CHEEKS, Moves.EARTH_POWER, Moves.APPLE_ACID, Moves.SAPPY_SEED ], [Species.ABSOL]: [ Moves.KOWTOW_CLEAVE, Moves.SACRED_SWORD, Moves.DIRE_CLAW, Moves.BITTER_BLADE ], - [Species.WYNAUT]: [ Moves.RECOVER, Moves.COSMIC_POWER, Moves.TAUNT, Moves.SHED_TAIL ], - [Species.SNORUNT]: [ Moves.AURORA_VEIL, Moves.HEAD_CHARGE, Moves.POLTERGEIST, Moves.FREEZY_FROST ], + [Species.WYNAUT]: [ Moves.RECOVER, Moves.PERISH_SONG, Moves.TAUNT, Moves.SHED_TAIL ], + [Species.SNORUNT]: [ Moves.AURORA_VEIL, Moves.HYPER_VOICE, Moves.EARTH_POWER, Moves.NO_RETREAT ], [Species.SPHEAL]: [ Moves.FLIP_TURN, Moves.FREEZE_DRY, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ], [Species.CLAMPERL]: [ Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.EARTH_POWER, Moves.ORIGIN_PULSE ], [Species.RELICANTH]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.WAVE_CRASH, Moves.FISHIOUS_REND ], [Species.LUVDISC]: [ Moves.BATON_PASS, Moves.THIEF, Moves.BOUNCY_BUBBLE, Moves.TAKE_HEART ], - [Species.BAGON]: [ Moves.IRON_HEAD, Moves.FIRE_LASH, Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH ], + [Species.BAGON]: [ Moves.FLOATY_FALL, Moves.FIRE_LASH, Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH ], [Species.BELDUM]: [ Moves.PSYCHIC_FANGS, Moves.RECOVER, Moves.MOUNTAIN_GALE, Moves.SHIFT_GEAR ], [Species.REGIROCK]: [ Moves.STONE_AXE, Moves.BODY_PRESS, Moves.RECOVER, Moves.SALT_CURE ], [Species.REGICE]: [ Moves.EARTH_POWER, Moves.COSMIC_POWER, Moves.RECOVER, Moves.FREEZE_DRY ], [Species.REGISTEEL]: [ Moves.BODY_PRESS, Moves.HEAT_CRASH, Moves.RECOVER, Moves.GIGATON_HAMMER ], [Species.LATIAS]: [ Moves.CORE_ENFORCER, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY, Moves.QUIVER_DANCE ], [Species.LATIOS]: [ Moves.CORE_ENFORCER, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY, Moves.QUIVER_DANCE ], - [Species.KYOGRE]: [ Moves.BOUNCY_BUBBLE, Moves.HURRICANE, Moves.THUNDER, Moves.RECOVER ], + [Species.KYOGRE]: [ Moves.BOUNCY_BUBBLE, Moves.HURRICANE, Moves.THUNDER, Moves.TAIL_GLOW ], [Species.GROUDON]: [ Moves.STONE_AXE, Moves.SOLAR_BLADE, Moves.MORNING_SUN, Moves.SACRED_FIRE ], [Species.RAYQUAZA]: [ Moves.OBLIVION_WING, Moves.DRAGON_DARTS, Moves.DRAGON_ENERGY, Moves.V_CREATE ], [Species.JIRACHI]: [ Moves.IRON_HEAD, Moves.FLOATY_FALL, Moves.ROCK_SLIDE, Moves.SHIFT_GEAR ], @@ -215,7 +215,7 @@ export const speciesEggMoves = { [Species.PACHIRISU]: [ Moves.BADDY_BAD, Moves.SIZZLY_SLIDE, Moves.U_TURN, Moves.ZIPPY_ZAP ], [Species.BUIZEL]: [ Moves.JET_PUNCH, Moves.TRIPLE_AXEL, Moves.SUPERCELL_SLAM, Moves.SURGING_STRIKES ], [Species.CHERUBI]: [ Moves.SPORE, Moves.STRENGTH_SAP, Moves.FIERY_DANCE, Moves.FLOWER_TRICK ], - [Species.SHELLOS]: [ Moves.STRENGTH_SAP, Moves.SCORCHING_SANDS, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], + [Species.SHELLOS]: [ Moves.BOUNCY_BUBBLE, Moves.SCORCHING_SANDS, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], [Species.DRIFLOON]: [ Moves.WILL_O_WISP, Moves.HEAT_WAVE, Moves.CALM_MIND, Moves.OBLIVION_WING ], [Species.BUNEARY]: [ Moves.TRIPLE_AXEL, Moves.SWORDS_DANCE, Moves.THUNDEROUS_KICK, Moves.MULTI_ATTACK ], [Species.GLAMEOW]: [ Moves.U_TURN, Moves.HIGH_HORSEPOWER, Moves.BULK_UP, Moves.EXTREME_SPEED ], @@ -226,7 +226,7 @@ export const speciesEggMoves = { [Species.MIME_JR]: [ Moves.CALM_MIND, Moves.MOONBLAST, Moves.WILL_O_WISP, Moves.LUMINA_CRASH ], [Species.HAPPINY]: [ Moves.COTTON_GUARD, Moves.SEISMIC_TOSS, Moves.SIZZLY_SLIDE, Moves.REVIVAL_BLESSING ], [Species.CHATOT]: [ Moves.SPARKLING_ARIA, Moves.TORCH_SONG, Moves.BATON_PASS, Moves.BOOMBURST ], - [Species.SPIRITOMB]: [ Moves.PARTING_SHOT, Moves.FOUL_PLAY, Moves.RECOVER, Moves.SPECTRAL_THIEF ], + [Species.SPIRITOMB]: [ Moves.PARTING_SHOT, Moves.FOUL_PLAY, Moves.STRENGTH_SAP, Moves.SPECTRAL_THIEF ], [Species.GIBLE]: [ Moves.DRAGON_DANCE, Moves.THOUSAND_WAVES, Moves.SHORE_UP, Moves.BITTER_BLADE ], [Species.MUNCHLAX]: [ Moves.CURSE, Moves.BODY_PRESS, Moves.KNOCK_OFF, Moves.SLACK_OFF ], [Species.RIOLU]: [ Moves.THUNDEROUS_KICK, Moves.BULLET_PUNCH, Moves.TRIPLE_AXEL, Moves.DOUBLE_IRON_BASH ], @@ -237,18 +237,18 @@ export const speciesEggMoves = { [Species.FINNEON]: [ Moves.QUIVER_DANCE, Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.ORIGIN_PULSE ], [Species.MANTYKE]: [ Moves.BOUNCY_BUBBLE, Moves.SPIKES, Moves.ROOST, Moves.STEAM_ERUPTION ], [Species.SNOVER]: [ Moves.HIGH_HORSEPOWER, Moves.STRENGTH_SAP, Moves.AURORA_VEIL, Moves.IVY_CUDGEL ], - [Species.ROTOM]: [ Moves.RECOVER, Moves.FIERY_DANCE, Moves.SPLISHY_SPLASH, Moves.RISING_VOLTAGE ], + [Species.ROTOM]: [ Moves.STRENGTH_SAP, Moves.FIERY_DANCE, Moves.SPLISHY_SPLASH, Moves.RISING_VOLTAGE ], [Species.UXIE]: [ Moves.COSMIC_POWER, Moves.BODY_PRESS, Moves.RECOVER, Moves.LUMINA_CRASH ], [Species.MESPRIT]: [ Moves.QUIVER_DANCE, Moves.AURA_SPHERE, Moves.RECOVER, Moves.LUMINA_CRASH ], - [Species.AZELF]: [ Moves.PHOTON_GEYSER, Moves.DRAGON_DANCE, Moves.RECOVER, Moves.LUMINA_CRASH ], + [Species.AZELF]: [ Moves.PHOTON_GEYSER, Moves.ICE_BEAM, Moves.MOONBLAST, Moves.LUMINA_CRASH ], [Species.DIALGA]: [ Moves.CORE_ENFORCER, Moves.TAKE_HEART, Moves.RECOVER, Moves.MAKE_IT_RAIN ], [Species.PALKIA]: [ Moves.RECOVER, Moves.TAKE_HEART, Moves.WATER_SPOUT, Moves.DRAGON_ENERGY ], [Species.HEATRAN]: [ Moves.TORCH_SONG, Moves.RECOVER, Moves.FLASH_CANNON, Moves.MATCHA_GOTCHA ], [Species.REGIGIGAS]: [ Moves.SKILL_SWAP, Moves.SHORE_UP, Moves.EXTREME_SPEED, Moves.GIGATON_HAMMER ], - [Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH, Moves.RECOVER, Moves.ASTRAL_BARRAGE ], + [Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH, Moves.RECOVER, Moves.SPECTRAL_THIEF ], [Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.SECRET_SWORD, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ], - [Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.RECOVER, Moves.QUIVER_DANCE ], - [Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.RECOVER, Moves.QUIVER_DANCE ], + [Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], + [Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ], [Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.SEARING_SHOT, Moves.SPORE ], [Species.SHAYMIN]: [ Moves.SPRINGTIDE_STORM, Moves.HEAT_WAVE, Moves.BLEAKWIND_STORM, Moves.MATCHA_GOTCHA ], [Species.ARCEUS]: [ Moves.QUIVER_DANCE, Moves.COLLISION_COURSE, Moves.VICTORY_DANCE, Moves.SPECTRAL_THIEF ], @@ -303,7 +303,7 @@ export const speciesEggMoves = { [Species.JOLTIK]: [ Moves.THUNDER, Moves.PARABOLIC_CHARGE, Moves.EARTH_POWER, Moves.QUIVER_DANCE ], [Species.FERROSEED]: [ Moves.STRENGTH_SAP, Moves.BODY_PRESS, Moves.SPIKY_SHIELD, Moves.SAPPY_SEED ], [Species.KLINK]: [ Moves.FLARE_BLITZ, Moves.HIGH_HORSEPOWER, Moves.FUSION_BOLT, Moves.DOUBLE_IRON_BASH ], - [Species.TYNAMO]: [ Moves.SCALD, Moves.RECOVER, Moves.FIRE_LASH, Moves.PLASMA_FISTS ], + [Species.TYNAMO]: [ Moves.SCALD, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.PLASMA_FISTS ], [Species.ELGYEM]: [ Moves.MYSTICAL_POWER, Moves.TRICK_ROOM, Moves.STORED_POWER, Moves.LUMINA_CRASH ], [Species.LITWICK]: [ Moves.FIERY_DANCE, Moves.EARTH_POWER, Moves.MOONBLAST, Moves.ASTRAL_BARRAGE ], [Species.AXEW]: [ Moves.STONE_AXE, Moves.DIRE_CLAW, Moves.FIRE_LASH, Moves.GLAIVE_RUSH ], @@ -313,7 +313,7 @@ export const speciesEggMoves = { [Species.STUNFISK]: [ Moves.SHORE_UP, Moves.BANEFUL_BUNKER, Moves.THUNDER_CAGE, Moves.THUNDERCLAP ], [Species.MIENFOO]: [ Moves.GUNK_SHOT, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.MOUNTAIN_GALE ], [Species.DRUDDIGON]: [ Moves.GLARE, Moves.ROOST, Moves.DRAGON_HAMMER, Moves.FIRE_LASH ], - [Species.GOLETT]: [ Moves.BULK_UP, Moves.RECOVER, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ], + [Species.GOLETT]: [ Moves.SHIFT_GEAR, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ], [Species.PAWNIARD]: [ Moves.SUCKER_PUNCH, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE, Moves.LAST_RESPECTS ], [Species.BOUFFALANT]: [ Moves.SLACK_OFF, Moves.JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ], [Species.RUFFLET]: [ Moves.FLOATY_FALL, Moves.MOONBLAST, Moves.HEAT_WAVE, Moves.BOLT_BEAK ], @@ -328,14 +328,14 @@ export const speciesEggMoves = { [Species.TORNADUS]: [ Moves.EARTH_POWER, Moves.U_TURN, Moves.ICE_BEAM, Moves.OBLIVION_WING ], [Species.THUNDURUS]: [ Moves.EARTH_POWER, Moves.HURRICANE, Moves.THUNDERCLAP, Moves.ELECTRO_SHOT ], [Species.RESHIRAM]: [ Moves.ROOST, Moves.TAKE_HEART, Moves.ERUPTION, Moves.DRAGON_ENERGY ], - [Species.ZEKROM]: [ Moves.ROOST, Moves.THUNDEROUS_KICK, Moves.DRAGON_HAMMER, Moves.BOLT_BEAK ], + [Species.ZEKROM]: [ Moves.DRAGON_DANCE, Moves.THUNDEROUS_KICK, Moves.DRAGON_HAMMER, Moves.BOLT_BEAK ], [Species.LANDORUS]: [ Moves.STONE_AXE, Moves.THOUSAND_ARROWS, Moves.ROOST, Moves.FLOATY_FALL ], [Species.KYUREM]: [ Moves.ICICLE_CRASH, Moves.DRAGON_ENERGY, Moves.NASTY_PLOT, Moves.GLACIAL_LANCE ], [Species.KELDEO]: [ Moves.BOUNCY_BUBBLE, Moves.THUNDERBOLT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ], [Species.MELOETTA]: [ Moves.TORCH_SONG, Moves.QUIVER_DANCE, Moves.THUNDEROUS_KICK, Moves.BOOMBURST ], [Species.GENESECT]: [ Moves.EXTREME_SPEED, Moves.U_TURN, Moves.SHIFT_GEAR, Moves.TAIL_GLOW ], [Species.CHESPIN]: [ Moves.DRAIN_PUNCH, Moves.SYNTHESIS, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED ], - [Species.FENNEKIN]: [ Moves.BITTER_MALICE, Moves.MOONBLAST, Moves.THUNDERBOLT, Moves.TORCH_SONG ], + [Species.FENNEKIN]: [ Moves.EXPANDING_FORCE, Moves.MOONBLAST, Moves.THUNDERBOLT, Moves.TORCH_SONG ], [Species.FROAKIE]: [ Moves.MOONBLAST, Moves.EARTH_POWER, Moves.TRIPLE_AXEL, Moves.SURGING_STRIKES ], [Species.BUNNELBY]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.FACADE, Moves.EXTREME_SPEED ], [Species.FLETCHLING]: [ Moves.DRILL_RUN, Moves.U_TURN, Moves.SUPERCELL_SLAM, Moves.TIDY_UP ], @@ -346,14 +346,14 @@ export const speciesEggMoves = { [Species.PANCHAM]: [ Moves.DRAIN_PUNCH, Moves.FAKE_OUT, Moves.BULLET_PUNCH, Moves.WICKED_BLOW ], [Species.FURFROU]: [ Moves.TIDY_UP, Moves.CRUNCH, Moves.COVET, Moves.MULTI_ATTACK ], [Species.ESPURR]: [ Moves.GLARE, Moves.MOONBLAST, Moves.FLAMETHROWER, Moves.PSYSTRIKE ], - [Species.HONEDGE]: [ Moves.TACHYON_CUTTER, Moves.POLTERGEIST, Moves.BITTER_BLADE, Moves.PAIN_SPLIT ], + [Species.HONEDGE]: [ Moves.RECOVER, Moves.POLTERGEIST, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], [Species.SPRITZEE]: [ Moves.TRICK_ROOM, Moves.FOUL_PLAY, Moves.WISH, Moves.REVIVAL_BLESSING ], [Species.SWIRLIX]: [ Moves.BELLY_DRUM, Moves.SUCKER_PUNCH, Moves.SPIRIT_BREAK, Moves.SIZZLY_SLIDE ], [Species.INKAY]: [ Moves.POWER_TRIP, Moves.STORED_POWER, Moves.RECOVER, Moves.PSYCHO_BOOST ], - [Species.BINACLE]: [ Moves.ICE_SPINNER, Moves.ACCELEROCK, Moves.BULK_UP, Moves.MIGHTY_CLEAVE ], + [Species.BINACLE]: [ Moves.TRIPLE_AXEL, Moves.ACCELEROCK, Moves.DIRE_CLAW, Moves.MIGHTY_CLEAVE ], [Species.SKRELP]: [ Moves.RECOVER, Moves.CORE_ENFORCER, Moves.CALM_MIND, Moves.MALIGNANT_CHAIN ], [Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.TERRAIN_PULSE, Moves.ORIGIN_PULSE ], - [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.NASTY_PLOT, Moves.SHORE_UP, Moves.CLANGOROUS_SOUL ], + [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.BOOMBURST, Moves.EARTH_POWER, Moves.TAIL_GLOW ], [Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.AXE_KICK ], [Species.AMAURA]: [ Moves.RECOVER, Moves.AURORA_VEIL, Moves.POWER_GEM, Moves.GEOMANCY ], [Species.HAWLUCHA]: [ Moves.DARKEST_LARIAT, Moves.HIGH_HORSEPOWER, Moves.SUPERCELL_SLAM, Moves.BRAVE_BIRD ], @@ -361,13 +361,13 @@ export const speciesEggMoves = { [Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ], [Species.GOOMY]: [ Moves.SCALD, Moves.RECOVER, Moves.CALM_MIND, Moves.MAKE_IT_RAIN ], [Species.KLEFKI]: [ Moves.COURT_CHANGE, Moves.ENCORE, Moves.TAUNT, Moves.TOPSY_TURVY ], - [Species.PHANTUMP]: [ Moves.POLTERGEIST, Moves.TRICK_ROOM, Moves.SYNTHESIS, Moves.SAPPY_SEED ], - [Species.PUMPKABOO]: [ Moves.POLTERGEIST, Moves.FIRE_LASH, Moves.DIRE_CLAW, Moves.SAPPY_SEED ], + [Species.PHANTUMP]: [ Moves.SPIRIT_SHACKLE, Moves.TRICK_ROOM, Moves.SYNTHESIS, Moves.SAPPY_SEED ], + [Species.PUMPKABOO]: [ Moves.SPIRIT_SHACKLE, Moves.FIRE_LASH, Moves.DIRE_CLAW, Moves.SAPPY_SEED ], [Species.BERGMITE]: [ Moves.STONE_AXE, Moves.METAL_BURST, Moves.BODY_PRESS, Moves.GLACIAL_LANCE ], [Species.NOIBAT]: [ Moves.AEROBLAST, Moves.OVERDRIVE, Moves.NASTY_PLOT, Moves.CLANGING_SCALES ], [Species.XERNEAS]: [ Moves.LIGHT_OF_RUIN, Moves.LUMINA_CRASH, Moves.STRENGTH_SAP, Moves.REVIVAL_BLESSING ], - [Species.YVELTAL]: [ Moves.IRON_HEAD, Moves.FLOATY_FALL, Moves.NASTY_PLOT, Moves.WICKED_BLOW ], - [Species.ZYGARDE]: [ Moves.DRAGON_DARTS, Moves.SHORE_UP, Moves.VICTORY_DANCE, Moves.DOUBLE_IRON_BASH ], + [Species.YVELTAL]: [ Moves.SLUDGE_WAVE, Moves.POWER_TRIP, Moves.FIERY_WRATH, Moves.CLANGOROUS_SOUL ], + [Species.ZYGARDE]: [ Moves.DRAGON_DARTS, Moves.HEAL_ORDER, Moves.VICTORY_DANCE, Moves.DOUBLE_IRON_BASH ], [Species.DIANCIE]: [ Moves.MAGICAL_TORQUE, Moves.BODY_PRESS, Moves.SHORE_UP, Moves.GEOMANCY ], [Species.HOOPA]: [ Moves.PHOTON_GEYSER, Moves.EARTH_POWER, Moves.BATON_PASS, Moves.TIDY_UP ], [Species.VOLCANION]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.ENERGY_BALL, Moves.SEARING_SHOT ], @@ -400,38 +400,38 @@ export const speciesEggMoves = { [Species.MINIOR]: [ Moves.EARTH_POWER, Moves.FLOATY_FALL, Moves.ZING_ZAP, Moves.DIAMOND_STORM ], [Species.KOMALA]: [ Moves.SLACK_OFF, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.CLOSE_COMBAT ], [Species.TURTONATOR]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.EARTH_POWER, Moves.CLANGING_SCALES ], - [Species.TOGEDEMARU]: [ Moves.SIZZLY_SLIDE, Moves.RECOVER, Moves.METEOR_MASH, Moves.BEHEMOTH_BASH ], - [Species.MIMIKYU]: [ Moves.SPIRIT_BREAK, Moves.NUZZLE, Moves.PARTING_SHOT, Moves.SPECTRAL_THIEF ], + [Species.TOGEDEMARU]: [ Moves.FAKE_OUT, Moves.METAL_BURST, Moves.METEOR_MASH, Moves.BOLT_STRIKE ], + [Species.MIMIKYU]: [ Moves.SPIRIT_BREAK, Moves.TIDY_UP, Moves.SIZZLY_SLIDE, Moves.SPECTRAL_THIEF ], [Species.BRUXISH]: [ Moves.ICE_FANG, Moves.FIRE_FANG, Moves.FLIP_TURN, Moves.FILLET_AWAY ], [Species.DRAMPA]: [ Moves.SLACK_OFF, Moves.FLAMETHROWER, Moves.CLANGING_SCALES, Moves.CLANGOROUS_SOUL ], [Species.DHELMISE]: [ Moves.POLTERGEIST, Moves.STRENGTH_SAP, Moves.LEAF_BLADE, Moves.DOUBLE_IRON_BASH ], - [Species.JANGMO_O]: [ Moves.ICE_BEAM, Moves.RECOVER, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ], + [Species.JANGMO_O]: [ Moves.ICE_BEAM, Moves.DRAIN_PUNCH, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ], [Species.TAPU_KOKO]: [ Moves.PLAY_ROUGH, Moves.MOUNTAIN_GALE, Moves.RISING_VOLTAGE, Moves.BOLT_BEAK ], [Species.TAPU_LELE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.HEAT_WAVE, Moves.EXPANDING_FORCE ], [Species.TAPU_BULU]: [ Moves.GRASSY_GLIDE, Moves.CLOSE_COMBAT, Moves.PLAY_ROUGH, Moves.VICTORY_DANCE ], [Species.TAPU_FINI]: [ Moves.AURA_SPHERE, Moves.EARTH_POWER, Moves.RECOVER, Moves.QUIVER_DANCE ], [Species.COSMOG]: [ Moves.VICTORY_DANCE, Moves.QUIVER_DANCE, Moves.STORED_POWER, Moves.PHOTON_GEYSER ], - [Species.NIHILEGO]: [ Moves.RECOVER, Moves.QUIVER_DANCE, Moves.GIGA_DRAIN, Moves.MALIGNANT_CHAIN ], + [Species.NIHILEGO]: [ Moves.RECOVER, Moves.QUIVER_DANCE, Moves.ENERGY_BALL, Moves.MALIGNANT_CHAIN ], [Species.BUZZWOLE]: [ Moves.LEECH_LIFE, Moves.BULLET_PUNCH, Moves.DARKEST_LARIAT, Moves.COLLISION_COURSE ], [Species.PHEROMOSA]: [ Moves.AURA_SPHERE, Moves.MAKE_IT_RAIN, Moves.ATTACK_ORDER, Moves.COLLISION_COURSE ], [Species.XURKITREE]: [ Moves.OVERHEAT, Moves.GIGA_DRAIN, Moves.TAIL_GLOW, Moves.THUNDERCLAP ], [Species.CELESTEELA]: [ Moves.ROOST, Moves.BUZZY_BUZZ, Moves.SPIKES, Moves.OBLIVION_WING ], [Species.KARTANA]: [ Moves.MIGHTY_CLEAVE, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], - [Species.GUZZLORD]: [ Moves.DIRE_CLAW, Moves.GLAIVE_RUSH, Moves.SLACK_OFF, Moves.BADDY_BAD ], + [Species.GUZZLORD]: [ Moves.SUCKER_PUNCH, Moves.COMEUPPANCE, Moves.SLACK_OFF, Moves.RUINATION ], [Species.NECROZMA]: [ Moves.COSMIC_POWER, Moves.SACRED_FIRE, Moves.ASTRAL_BARRAGE, Moves.CLANGOROUS_SOUL ], - [Species.MAGEARNA]: [ Moves.RECOVER, Moves.EARTH_POWER, Moves.COSMIC_POWER, Moves.MAKE_IT_RAIN ], + [Species.MAGEARNA]: [ Moves.STRENGTH_SAP, Moves.EARTH_POWER, Moves.COSMIC_POWER, Moves.MAKE_IT_RAIN ], [Species.MARSHADOW]: [ Moves.POWER_UP_PUNCH, Moves.TRIPLE_AXEL, Moves.STORM_THROW, Moves.DOUBLE_IRON_BASH ], [Species.POIPOLE]: [ Moves.SLUDGE_BOMB, Moves.BUG_BUZZ, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY ], [Species.STAKATAKA]: [ Moves.HEAVY_SLAM, Moves.SHORE_UP, Moves.CURSE, Moves.SALT_CURE ], [Species.BLACEPHALON]: [ Moves.NASTY_PLOT, Moves.SEARING_SHOT, Moves.GIGA_DRAIN, Moves.ASTRAL_BARRAGE ], [Species.ZERAORA]: [ Moves.SWORDS_DANCE, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE, Moves.PYRO_BALL ], - [Species.MELTAN]: [ Moves.BULLET_PUNCH, Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.RECOVER ], + [Species.MELTAN]: [ Moves.BULLET_PUNCH, Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS ], [Species.GROOKEY]: [ Moves.HEADLONG_RUSH, Moves.CLOSE_COMBAT, Moves.GRASSY_GLIDE, Moves.CLANGOROUS_SOUL ], [Species.SCORBUNNY]: [ Moves.EXTREME_SPEED, Moves.TROP_KICK, Moves.TRIPLE_AXEL, Moves.THUNDEROUS_KICK ], [Species.SOBBLE]: [ Moves.AEROBLAST, Moves.FROST_BREATH, Moves.SEARING_SHOT, Moves.SURGING_STRIKES ], [Species.SKWOVET]: [ Moves.KNOCK_OFF, Moves.GRAV_APPLE, Moves.BODY_PRESS, Moves.SLACK_OFF ], [Species.ROOKIDEE]: [ Moves.ROOST, Moves.BODY_PRESS, Moves.IRON_HEAD, Moves.KINGS_SHIELD ], - [Species.BLIPBUG]: [ Moves.RECOVER, Moves.FREEZING_GLARE, Moves.SPORE, Moves.TAIL_GLOW ], + [Species.BLIPBUG]: [ Moves.HEAL_ORDER, Moves.EXPANDING_FORCE, Moves.SPORE, Moves.TAIL_GLOW ], [Species.NICKIT]: [ Moves.BADDY_BAD, Moves.BURNING_JEALOUSY, Moves.SPARKLY_SWIRL, Moves.FIERY_WRATH ], [Species.GOSSIFLEUR]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.PARTING_SHOT, Moves.SEED_FLARE ], [Species.WOOLOO]: [ Moves.PSYSHIELD_BASH, Moves.HEAD_CHARGE, Moves.BODY_PRESS, Moves.MILK_DRINK ], @@ -440,7 +440,7 @@ export const speciesEggMoves = { [Species.ROLYCOLY]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.WORK_UP, Moves.DIAMOND_STORM ], [Species.APPLIN]: [ Moves.DRAGON_CHEER, Moves.PARTING_SHOT, Moves.FLOWER_TRICK, Moves.STRENGTH_SAP ], [Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.STONE_EDGE, Moves.PRECIPICE_BLADES ], - [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.SCORCHING_SANDS, Moves.ROOST ], + [Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.SCORCHING_SANDS, Moves.OBLIVION_WING ], [Species.ARROKUDA]: [ Moves.THUNDER_FANG, Moves.KNOCK_OFF, Moves.ICE_FANG, Moves.FILLET_AWAY ], [Species.TOXEL]: [ Moves.NASTY_PLOT, Moves.BANEFUL_BUNKER, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ], [Species.SIZZLIPEDE]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.FIRST_IMPRESSION, Moves.VICTORY_DANCE ], @@ -461,8 +461,8 @@ export const speciesEggMoves = { [Species.ARCTOZOLT]: [ Moves.TRIPLE_AXEL, Moves.LIQUIDATION, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ], [Species.DRACOVISH]: [ Moves.TRIPLE_AXEL, Moves.DRAGON_HAMMER, Moves.THUNDER_FANG, Moves.DRAGON_DANCE ], [Species.ARCTOVISH]: [ Moves.TRIPLE_AXEL, Moves.SUPERCELL_SLAM, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ], - [Species.DURALUDON]: [ Moves.CALM_MIND, Moves.BODY_PRESS, Moves.EARTH_POWER, Moves.RECOVER ], - [Species.DREEPY]: [ Moves.DRAGON_ENERGY, Moves.SHED_TAIL, Moves.BLAZING_TORQUE, Moves.SPECTRAL_THIEF ], + [Species.DURALUDON]: [ Moves.ICE_BEAM, Moves.BODY_PRESS, Moves.RECOVER, Moves.CORE_ENFORCER ], + [Species.DREEPY]: [ Moves.DRAGON_ENERGY, Moves.SPIRIT_BREAK, Moves.BLAZING_TORQUE, Moves.SPECTRAL_THIEF ], [Species.ZACIAN]: [ Moves.MAGICAL_TORQUE, Moves.BITTER_BLADE, Moves.LEAF_BLADE, Moves.VICTORY_DANCE ], [Species.ZAMAZENTA]: [ Moves.PSYSHIELD_BASH, Moves.BODY_PRESS, Moves.SLACK_OFF, Moves.VICTORY_DANCE ], [Species.KUBFU]: [ Moves.METEOR_MASH, Moves.DRAIN_PUNCH, Moves.JET_PUNCH, Moves.DRAGON_DANCE ], @@ -471,11 +471,11 @@ export const speciesEggMoves = { [Species.REGIDRAGO]: [ Moves.METEOR_MASH, Moves.FLAMETHROWER, Moves.CALM_MIND, Moves.DRAGON_DARTS ], [Species.GLASTRIER]: [ Moves.TRICK_ROOM, Moves.SLACK_OFF, Moves.HIGH_HORSEPOWER, Moves.GLACIAL_LANCE ], [Species.SPECTRIER]: [ Moves.EARTH_POWER, Moves.PARTING_SHOT, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ], - [Species.CALYREX]: [ Moves.SAPPY_SEED, Moves.RECOVER, Moves.AURA_SPHERE, Moves.PHOTON_GEYSER ], + [Species.CALYREX]: [ Moves.SAPPY_SEED, Moves.RECOVER, Moves.SECRET_SWORD, Moves.PHOTON_GEYSER ], [Species.ENAMORUS]: [ Moves.FLEUR_CANNON, Moves.TAKE_HEART, Moves.STORED_POWER, Moves.OBLIVION_WING ], - [Species.SPRIGATITO]: [ Moves.BLAZE_KICK, Moves.STRENGTH_SAP, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ], - [Species.FUECOCO]: [ Moves.COSMIC_POWER, Moves.SLACK_OFF, Moves.INFERNAL_PARADE, Moves.MOONGEIST_BEAM ], - [Species.QUAXLY]: [ Moves.DRAGON_DANCE, Moves.ROOST, Moves.TROP_KICK, Moves.THUNDEROUS_KICK ], + [Species.SPRIGATITO]: [ Moves.FIRE_LASH, Moves.TRIPLE_AXEL, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ], + [Species.FUECOCO]: [ Moves.ALLURING_VOICE, Moves.SLACK_OFF, Moves.OVERDRIVE, Moves.MOONGEIST_BEAM ], + [Species.QUAXLY]: [ Moves.DRAGON_DANCE, Moves.TRIPLE_AXEL, Moves.TROP_KICK, Moves.THUNDEROUS_KICK ], [Species.LECHONK]: [ Moves.MILK_DRINK, Moves.BLAZING_TORQUE, Moves.FILLET_AWAY, Moves.MULTI_ATTACK ], [Species.TAROUNTULA]: [ Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.THIEF, Moves.SPORE ], [Species.NYMBLE]: [ Moves.CEASELESS_EDGE, Moves.FELL_STINGER, Moves.LEECH_LIFE, Moves.WICKED_BLOW ], @@ -491,7 +491,7 @@ export const speciesEggMoves = { [Species.MASCHIFF]: [ Moves.PARTING_SHOT, Moves.KNOCK_OFF, Moves.NUZZLE, Moves.COLLISION_COURSE ], [Species.SHROODLE]: [ Moves.FIRE_LASH, Moves.PARTING_SHOT, Moves.TOXIC, Moves.TOPSY_TURVY ], [Species.BRAMBLIN]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.CEASELESS_EDGE, Moves.LAST_RESPECTS ], - [Species.TOEDSCOOL]: [ Moves.STRENGTH_SAP, Moves.HEART_SWAP, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], + [Species.TOEDSCOOL]: [ Moves.STRENGTH_SAP, Moves.TOPSY_TURVY, Moves.PARTING_SHOT, Moves.SAPPY_SEED ], [Species.KLAWF]: [ Moves.CRABHAMMER, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE, Moves.SHELL_SMASH ], [Species.CAPSAKID]: [ Moves.STRENGTH_SAP, Moves.APPLE_ACID, Moves.FROST_BREATH, Moves.TORCH_SONG ], [Species.RELLOR]: [ Moves.TOXIC_SPIKES, Moves.RECOVER, Moves.HEAT_WAVE, Moves.LUMINA_CRASH ], @@ -499,7 +499,7 @@ export const speciesEggMoves = { [Species.TINKATINK]: [ Moves.NUZZLE, Moves.SHIFT_GEAR, Moves.ICE_HAMMER, Moves.PYRO_BALL ], [Species.WIGLETT]: [ Moves.SHELL_SMASH, Moves.ICICLE_CRASH, Moves.SEED_BOMB, Moves.SURGING_STRIKES ], [Species.BOMBIRDIER]: [ Moves.U_TURN, Moves.TIDY_UP, Moves.SUCKER_PUNCH, Moves.MIGHTY_CLEAVE ], - [Species.FINIZEN]: [ Moves.TRIPLE_AXEL, Moves.DRAIN_PUNCH, Moves.RECOVER, Moves.WOOD_HAMMER ], + [Species.FINIZEN]: [ Moves.TRIPLE_AXEL, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.SURGING_STRIKES ], [Species.VAROOM]: [ Moves.COMBAT_TORQUE, Moves.U_TURN, Moves.BLAZING_TORQUE, Moves.NOXIOUS_TORQUE ], [Species.CYCLIZAR]: [ Moves.BATON_PASS, Moves.BLAZING_TORQUE, Moves.HEAD_CHARGE, Moves.CLANGOROUS_SOUL ], [Species.ORTHWORM]: [ Moves.GLARE, Moves.COIL, Moves.BODY_PRESS, Moves.SHORE_UP ], @@ -518,24 +518,24 @@ export const speciesEggMoves = { [Species.SANDY_SHOCKS]: [ Moves.SHORE_UP, Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.THUNDERCLAP ], [Species.IRON_TREADS]: [ Moves.SUPERCELL_SLAM, Moves.BULK_UP, Moves.SHORE_UP, Moves.DOUBLE_IRON_BASH ], [Species.IRON_BUNDLE]: [ Moves.EARTH_POWER, Moves.BOUNCY_BUBBLE, Moves.NASTY_PLOT, Moves.WATER_SPOUT ], - [Species.IRON_HANDS]: [ Moves.DRAIN_PUNCH, Moves.CURSE, Moves.PLASMA_FISTS, Moves.RECOVER ], + [Species.IRON_HANDS]: [ Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS, Moves.ICE_HAMMER ], [Species.IRON_JUGULIS]: [ Moves.FIERY_WRATH, Moves.ROOST, Moves.NASTY_PLOT, Moves.OBLIVION_WING ], [Species.IRON_MOTH]: [ Moves.EARTH_POWER, Moves.SEARING_SHOT, Moves.QUIVER_DANCE, Moves.MALIGNANT_CHAIN ], [Species.IRON_THORNS]: [ Moves.MIGHTY_CLEAVE, Moves.SHORE_UP, Moves.SHIFT_GEAR, Moves.FUSION_BOLT ], [Species.FRIGIBAX]: [ Moves.DRAGON_DARTS, Moves.BULK_UP, Moves.SHORE_UP, Moves.GLACIAL_LANCE ], [Species.GIMMIGHOUL]: [ Moves.COSMIC_POWER, Moves.STORED_POWER, Moves.BATON_PASS, Moves.ASTRAL_BARRAGE ], - [Species.WO_CHIEN]: [ Moves.SPORE, Moves.RAGE_POWDER, Moves.SAPPY_SEED, Moves.RECOVER ], + [Species.WO_CHIEN]: [ Moves.SPORE, Moves.RAGE_POWDER, Moves.SAPPY_SEED, Moves.STRENGTH_SAP ], [Species.CHIEN_PAO]: [ Moves.KNOCK_OFF, Moves.PARTING_SHOT, Moves.BITTER_BLADE, Moves.GLACIAL_LANCE ], [Species.TING_LU]: [ Moves.SHORE_UP, Moves.CURSE, Moves.SAPPY_SEED, Moves.THOUSAND_ARROWS ], [Species.CHI_YU]: [ Moves.FIERY_WRATH, Moves.HYDRO_STEAM, Moves.TORCH_SONG, Moves.ERUPTION ], [Species.ROARING_MOON]: [ Moves.FIRE_LASH, Moves.DRAGON_HAMMER, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ], [Species.IRON_VALIANT]: [ Moves.PLASMA_FISTS, Moves.VICTORY_DANCE, Moves.QUIVER_DANCE, Moves.MAGICAL_TORQUE ], - [Species.KORAIDON]: [ Moves.SACRED_FIRE, Moves.RECOVER, Moves.GLAIVE_RUSH, Moves.CLANGOROUS_SOUL ], - [Species.MIRAIDON]: [ Moves.ICE_BEAM, Moves.RECOVER, Moves.RISING_VOLTAGE, Moves.DRAGON_ENERGY ], + [Species.KORAIDON]: [ Moves.BITTER_BLADE, Moves.MORNING_SUN, Moves.GLAIVE_RUSH, Moves.CLANGOROUS_SOUL ], + [Species.MIRAIDON]: [ Moves.ICE_BEAM, Moves.CLANGOROUS_SOUL, Moves.RISING_VOLTAGE, Moves.DRAGON_ENERGY ], [Species.WALKING_WAKE]: [ Moves.BOUNCY_BUBBLE, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.DRAGON_ENERGY ], [Species.IRON_LEAVES]: [ Moves.SPORE, Moves.U_TURN, Moves.MIGHTY_CLEAVE, Moves.BITTER_BLADE ], [Species.POLTCHAGEIST]: [ Moves.COSMIC_POWER, Moves.INFERNAL_PARADE, Moves.LEECH_SEED, Moves.SPARKLY_SWIRL ], - [Species.OKIDOGI]: [ Moves.MORNING_SUN, Moves.OBSTRUCT, Moves.DIRE_CLAW, Moves.COLLISION_COURSE ], + [Species.OKIDOGI]: [ Moves.SLACK_OFF, Moves.OBSTRUCT, Moves.DIRE_CLAW, Moves.COLLISION_COURSE ], [Species.MUNKIDORI]: [ Moves.PSYSTRIKE, Moves.HEAT_WAVE, Moves.EARTH_POWER, Moves.MALIGNANT_CHAIN ], [Species.FEZANDIPITI]: [ Moves.BATON_PASS, Moves.COSMIC_POWER, Moves.SIZZLY_SLIDE, Moves.MALIGNANT_CHAIN ], [Species.OGERPON]: [ Moves.FLOWER_TRICK, Moves.BONEMERANG, Moves.TRIPLE_AXEL, Moves.GIGATON_HAMMER ], From c41546b680c77b93969da74fe58896527f1c11ec Mon Sep 17 00:00:00 2001 From: phynor <166416835+phynor@users.noreply.github.com> Date: Mon, 6 May 2024 03:44:55 +0200 Subject: [PATCH 04/38] updated move.ts german translation (#519) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * updated move.ts german translation * fixed encoding on Pokémon --- src/locales/de/move.ts | 3186 ++++++++++++++++++++-------------------- 1 file changed, 1593 insertions(+), 1593 deletions(-) diff --git a/src/locales/de/move.ts b/src/locales/de/move.ts index f0c1c623a05..f39721b1dc4 100644 --- a/src/locales/de/move.ts +++ b/src/locales/de/move.ts @@ -2,44 +2,44 @@ import { MoveTranslationEntries } from "#app/plugins/i18n"; export const move: MoveTranslationEntries = { "pound": { - name: "Pound", - effect: "The target is physically pounded with a long tail, a foreleg, or the like." + name: "Klaps", + effect: "Ein Hieb mit den Vorderbeinen oder dem Schweif." }, "karateChop": { - name: "Karate Chop", - effect: "The target is attacked with a sharp chop. Critical hits land more easily." + name: "Karateschlag", + effect: "Gute Möglichkeit, einen Volltreffer zu landen." }, "doubleSlap": { - name: "Double Slap", - effect: "The target is slapped repeatedly, back and forth, two to five times in a row." + name: "Duplexhieb", + effect: "Trifft das Ziel zwei- bis fünfmal hintereinander mit einem Duplexhieb." }, "cometPunch": { - name: "Comet Punch", - effect: "The target is hit with a flurry of punches that strike two to five times in a row." + name: "Kometenhieb", + effect: "Trifft das Ziel zwei- bis fünfmal hintereinander mit kräftigen Hieben." }, "megaPunch": { - name: "Mega Punch", - effect: "The target is slugged by a punch thrown with muscle-packed power." + name: "Megahieb", + effect: "Ein unglaublich kräftiger Hieb." }, "payDay": { - name: "Pay Day", - effect: "Numerous coins are hurled at the target to inflict damage. Money is earned after the battle." + name: "Zahltag", + effect: "Das Ziel wird mit Münzen beworfen. Das Geld wird nach dem Kampf aufgesammelt." }, "firePunch": { - name: "Fire Punch", - effect: "The target is punched with a fiery fist. This may also leave the target with a burn." + name: "Feuerschlag", + effect: "Feuriger Schlag, der dem Ziel eventuell Verbrennungen zufügt." }, "icePunch": { - name: "Ice Punch", - effect: "The target is punched with an icy fist. This may also leave the target frozen." + name: "Eishieb", + effect: "Ein eisiger Schlag, der das Ziel eventuell einfriert." }, "thunderPunch": { - name: "Thunder Punch", - effect: "The target is punched with an electrified fist. This may also leave the target with paralysis." + name: "Donnerschlag", + effect: "Ein elektrischer Schlag, der das Ziel eventuell paralysiert." }, "scratch": { - name: "Scratch", - effect: "Hard, pointed, sharp claws rake the target to inflict damage." + name: "Kratzer", + effect: "Das Ziel wird mit scharfen Klauen zerkratzt." }, "viseGrip": { name: "Vise Grip", @@ -47,3263 +47,3263 @@ export const move: MoveTranslationEntries = { }, "guillotine": { name: "Guillotine", - effect: "A vicious, tearing attack with big pincers. The target faints instantly if this attack hits." + effect: "Kräftige Scheren-Attacke. Führt beim Ziel sofort zum K.O." }, "razorWind": { - name: "Razor Wind", - effect: "In this two-turn attack, blades of wind hit opposing Pokémon on the second turn. Critical hits land more easily." + name: "Klingensturm", + effect: "Eine Attacke, die über zwei Runden geht. Hohe Volltrefferquote." }, "swordsDance": { - name: "Swords Dance", - effect: "A frenetic dance to uplift the fighting spirit. This sharply raises the user's Attack stat." + name: "Schwerttanz", + effect: "Ein wilder Kampftanz, der den eigenen Angriffs-Wert stark erhöht." }, "cut": { - name: "Cut", - effect: "The target is cut with a scythe or claw." + name: "Zerschneider", + effect: "Ein Basisangriff mit Schere oder Klaue. Damit können kleine Bäume gefällt werden." }, "gust": { - name: "Gust", - effect: "A gust of wind is whipped up by wings and launched at the target to inflict damage." + name: "Windstoß", + effect: "Trifft das Ziel mit einem Windstoß durch einen Flügelschlag." }, "wingAttack": { - name: "Wing Attack", - effect: "The target is struck with large, imposing wings spread wide to inflict damage." + name: "Flügelschlag", + effect: "Trifft das Ziel mit ausgebreiteten Flügeln." }, "whirlwind": { - name: "Whirlwind", - effect: "The target is blown away, and a different Pokémon is dragged out. In the wild, this ends a battle against a single Pokémon." + name: "Wirbelwind", + effect: "Weht das Ziel weg und ersetzt es durch ein anderes Pokémon. In der Wildnis endet der Kampf." }, "fly": { - name: "Fly", - effect: "The user flies up into the sky and then strikes its target on the next turn." + name: "Fliegen", + effect: "Steigt in Runde 1 empor und trifft das Ziel in Runde 2." }, "bind": { - name: "Bind", - effect: "Things such as long bodies or tentacles are used to bind and squeeze the target for four to five turns." + name: "Klammergriff", + effect: "Umklammert und quetscht das Ziel über vier bis fünf Runden." }, "slam": { name: "Slam", - effect: "The target is slammed with a long tail, vines, or the like to inflict damage." + effect: "Schlag mit einem langen Schweif, einer Ranke oder Ähnlichem." }, "vineWhip": { - name: "Vine Whip", - effect: "The target is struck with slender, whiplike vines to inflict damage." + name: "Rankenhieb", + effect: "Peitschenähnlicher Schlag mit Ranken." }, "stomp": { - name: "Stomp", - effect: "The target is stomped with a big foot. This may also make the target flinch." + name: "Stampfer", + effect: "Stampfen mit dem Fuß. Das Ziel schreckt eventuell zurück." }, "doubleKick": { - name: "Double Kick", - effect: "The target is quickly kicked twice in succession using both feet." + name: "Doppelkick", + effect: "Der Anwender tritt in einer Runde zweimal schnell zu." }, "megaKick": { - name: "Mega Kick", - effect: "The target is attacked by a kick launched with muscle-packed power." + name: "Megakick", + effect: "Das Ziel wird mit einem extrem heftigen Tritt angegriffen." }, "jumpKick": { - name: "Jump Kick", - effect: "The user jumps up high, then strikes with a kick. If the kick misses, the user hurts itself." + name: "Sprungkick", + effect: "Der Angreifer hüpft hoch und tritt zu. Bei Misserfolg schadet er sich selbst." }, "rollingKick": { - name: "Rolling Kick", - effect: "The user lashes out with a quick, spinning kick. This may also make the target flinch." + name: "Fegekick", + effect: "Heftiger Tritt aus einer schnellen Drehbewegung. Lässt das Ziel eventuell zurückschrecken." }, "sandAttack": { - name: "Sand Attack", - effect: "Sand is hurled in the target's face, reducing the target's accuracy." + name: "Sandwirbel", + effect: "Senkt Genauigkeit des Zieles, indem ihm Sand ins Gesicht geworfen wird." }, "headbutt": { - name: "Headbutt", - effect: "The user sticks out its head and attacks by charging straight into the target. This may also make the target flinch." + name: "Kopfnuss", + effect: "Rammt das Ziel mit einer Kopfnuss. Ziel schreckt eventuell zurück." }, "hornAttack": { - name: "Horn Attack", - effect: "The target is jabbed with a sharply pointed horn to inflict damage." + name: "Hornattacke", + effect: "Spießt das Ziel mit einem spitzen Horn auf." }, "furyAttack": { - name: "Fury Attack", - effect: "The target is jabbed repeatedly with a horn or beak two to five times in a row." + name: "Furienschlag", + effect: "Spießt das Ziel zwei- bis fünfmal mit spitzem Horn oder Schnabel auf." }, "hornDrill": { - name: "Horn Drill", - effect: "The user stabs the target with a horn that rotates like a drill. The target faints instantly if this attack hits." + name: "Hornbohrer", + effect: "K.O.-Attacke, bei der ein Horn als Bohrer eingesetzt wird." }, "tackle": { name: "Tackle", - effect: "A physical attack in which the user charges and slams into the target with its whole body." + effect: "Trifft das Ziel mit vollem Körpereinsatz." }, "bodySlam": { - name: "Body Slam", - effect: "The user drops onto the target with its full body weight. This may also leave the target with paralysis." + name: "Bodyslam", + effect: "Trifft das Ziel mit vollem Körpereinsatz. Bewirkt eventuell Paralyse." }, "wrap": { - name: "Wrap", - effect: "A long body, vines, or the like are used to wrap and squeeze the target for four to five turns." + name: "Wickel", + effect: "Umwickelt das Ziel über vier bis fünf Runden mit Ranken oder Ähnlichem und fügt ihm Schaden zu." }, "takeDown": { - name: "Take Down", - effect: "A reckless, full-body charge attack for slamming into the target. This also damages the user a little." + name: "Bodycheck", + effect: "Rücksichtslose Attacke, bei der sich der Angreifer selbst leicht verletzt." }, "thrash": { - name: "Thrash", - effect: "The user rampages and attacks for two to three turns. The user then becomes confused." + name: "Fuchtler", + effect: "Attacke über zwei bis drei Runden, die den Angreifer verwirrt." }, "doubleEdge": { - name: "Double-Edge", - effect: "A reckless, life-risking tackle in which the user rushes the target. This also damages the user quite a lot." + name: "Risikotackle", + effect: "Lebensgefährlicher Angriff, bei dem sich der Angreifer selbst verletzt." }, "tailWhip": { - name: "Tail Whip", - effect: "The user wags its tail cutely, making opposing Pokémon less wary and lowering their Defense stats." + name: "Rutenschlag", + effect: "Hieb mit dem Schweif. Senkt die Verteidigung des Zieles." }, "poisonSting": { - name: "Poison Sting", - effect: "The user stabs the target with a poisonous stinger. This may also poison the target." + name: "Giftstachel", + effect: "Angriff mit Giftstachel. Das Ziel wird eventuell vergiftet." }, "twineedle": { - name: "Twineedle", - effect: "The user damages the target twice in succession by jabbing it with two spikes. This may also poison the target." + name: "Duonadel", + effect: "Stacheln treffen das Ziel zweimal. Das Ziel wird eventuell vergiftet." }, "pinMissile": { - name: "Pin Missile", - effect: "Sharp spikes are shot at the target in rapid succession. They hit two to five times in a row." + name: "Nadelrakete", + effect: "Spitze Nadeln treffen das Ziel zwei- bis fünfmal hintereinander." }, "leer": { - name: "Leer", - effect: "The user gives opposing Pokémon an intimidating leer that lowers the Defense stat." + name: "Silberblick", + effect: "Gegnerischer Verteidigungs-Wert wird durch angsteinflößenden Blick gesenkt." }, "bite": { - name: "Bite", - effect: "The target is bitten with viciously sharp fangs. This may also make the target flinch." + name: "Biss", + effect: "Beißt zu und lässt das Ziel eventuell zurückschrecken." }, "growl": { - name: "Growl", - effect: "The user growls in an endearing way, making opposing Pokémon less wary. This lowers their Attack stats." + name: "Heuler", + effect: "Der Anwender nimmt das Ziel für sich ein und senkt dessen Angriffs-Wert." }, "roar": { - name: "Roar", - effect: "The target is scared off, and a different Pokémon is dragged out. In the wild, this ends a battle against a single Pokémon." + name: "Brüller", + effect: "Verjagt das Ziel und ersetzt es durch ein anderes Pokémon. Beendet den Kampf in der Wildnis." }, "sing": { - name: "Sing", - effect: "A soothing lullaby is sung in a calming voice that puts the target into a deep slumber." + name: "Gesang", + effect: "Ein Lied, das das Ziel in tiefen Schlaf versetzt." }, "supersonic": { - name: "Supersonic", - effect: "The user generates odd sound waves from its body that confuse the target." + name: "Superschall", + effect: "Ausstoß bizarrer Schallwellen. Das Ziel wird verwirrt." }, "sonicBoom": { - name: "Sonic Boom", - effect: "The target is hit with a destructive shock wave that always inflicts 20 HP damage." + name: "Ultraschall", + effect: "Das Ziel wird von einer Schockwelle getroffen, die stets 20 KP Schaden anrichtet." }, "disable": { - name: "Disable", - effect: "For four turns, this move prevents the target from using the move it last used." + name: "Aussetzer", + effect: "Die zuletzt eingesetzte Attacke des Zieles wird für mehrere Runden blockiert." }, "acid": { - name: "Acid", - effect: "Opposing Pokémon are attacked with a spray of harsh acid. This may also lower their Sp. Def stats." + name: "Säure", + effect: "Versprüht ätzende Flüssigkeit, die eventuell die Spezial-Verteidigung der Gegner in der Nähe des Anwenders senkt." }, "ember": { - name: "Ember", - effect: "The target is attacked with small flames. This may also leave the target with a burn." + name: "Glut", + effect: "Schwache Feuer-Attacke, durch die das Ziel eventuell Verbrennungen erleidet." }, "flamethrower": { - name: "Flamethrower", - effect: "The target is scorched with an intense blast of fire. This may also leave the target with a burn." + name: "Flammenwurf", + effect: "Starke Feuer-Attacke, durch die das Ziel eventuell Verbrennungen erleidet." }, "mist": { - name: "Mist", - effect: "The user cloaks itself and its allies in a white mist that prevents any of their stats from being lowered for five turns." + name: "Weißnebel", + effect: "Anwender schützt das Team mit einem Nebel. Verhindert Statussenkungen für fünf Runden." }, "waterGun": { - name: "Water Gun", - effect: "The target is blasted with a forceful shot of water." + name: "Aquaknarre", + effect: "Das Ziel wird mit Wasser bespritzt." }, "hydroPump": { - name: "Hydro Pump", - effect: "The target is blasted by a huge volume of water launched under great pressure." + name: "Hydropumpe", + effect: "Spritzt eine Menge Wasser mit Hochdruck auf das Ziel." }, "surf": { - name: "Surf", - effect: "The user attacks everything around it by swamping its surroundings with a giant wave." + name: "Surfer", + effect: "Eine Welle bricht über alle Pokémon in der Nähe des Anwenders herein." }, "iceBeam": { - name: "Ice Beam", - effect: "The target is struck with an icy-cold beam of energy. This may also leave the target frozen." + name: "Eisstrahl", + effect: "Das Ziel wird von einem Eisstrahl getroffen und friert eventuell ein." }, "blizzard": { name: "Blizzard", - effect: "A howling blizzard is summoned to strike opposing Pokémon. This may also leave the opposing Pokémon frozen." + effect: "Ein Schneesturm wütet, der das Ziel einfrieren kann." }, "psybeam": { - name: "Psybeam", - effect: "The target is attacked with a peculiar ray. This may also leave the target confused." + name: "Psystrahl", + effect: "Feuert einen Strahl ab, der das Ziel verwirren kann." }, "bubbleBeam": { - name: "Bubble Beam", - effect: "A spray of bubbles is forcefully ejected at the target. This may also lower the target's Speed stat." + name: "Blubbstrahl", + effect: "Versprüht Blasen, die eventuell den Initiative-Wert des Zieles senken." }, "auroraBeam": { - name: "Aurora Beam", - effect: "The target is hit with a rainbow-colored beam. This may also lower the target's Attack stat." + name: "Aurorastrahl", + effect: "Regenbogenfarbener Strahl, der eventuell den Angriffs-Wert des Zieles senkt." }, "hyperBeam": { - name: "Hyper Beam", - effect: "The target is attacked with a powerful beam. The user can't move on the next turn." + name: "Hyperstrahl", + effect: "Starke Attacke, die den Anwender zwingt, eine Runde auszusetzen." }, "peck": { - name: "Peck", - effect: "The target is jabbed with a sharply pointed beak or horn." + name: "Pikser", + effect: "Greift das Ziel mit dem Schnabel oder Horn an." }, "drillPeck": { - name: "Drill Peck", - effect: "A corkscrewing attack that strikes the target with a sharp beak acting as a drill." + name: "Bohrschnabel", + effect: "Korkenzieherangriff, bei dem der Schnabel als Bohrer dient." }, "submission": { - name: "Submission", - effect: "The user grabs the target and recklessly dives for the ground. This also damages the user a little." + name: "Überroller", + effect: "Harte Körperattacke, bei der sich der Angreifer selbst leicht verletzt." }, "lowKick": { - name: "Low Kick", - effect: "A powerful low kick that makes the target fall over. The heavier the target, the greater the move's power." + name: "Fußkick", + effect: "Ein Tritt, der das Ziel umwirft. Je schwerer das Ziel ist, desto mehr Schaden fügt ihm die Attacke zu." }, "counter": { - name: "Counter", - effect: "A retaliation move that counters any physical attack, inflicting double the damage taken." + name: "Konter", + effect: "Kontert physische Treffer und fügt dem Ziel das Doppelte des Schadens zu, den der Anwender erlitten hat." }, "seismicToss": { - name: "Seismic Toss", - effect: "The target is thrown using the power of gravity. It inflicts damage equal to the user's level." + name: "Geowurf", + effect: "Ziel wird mit der Kraft der Gravitation umgeworfen. Richtet Schaden gemäß Level des Angreifers an." }, "strength": { - name: "Strength", - effect: "The target is slugged with a punch thrown at maximum power." + name: "Stärke", + effect: "Das Ziel wird extrem stark getroffen. Macht Verschieben von Felsen möglich." }, "absorb": { - name: "Absorb", - effect: "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target." + name: "Absorber", + effect: "Attacke, die die Hälfte des Schadens absorbiert." }, "megaDrain": { - name: "Mega Drain", - effect: "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target." + name: "Megasauger", + effect: "Attacke, die die Hälfte des Schadens absorbiert." }, "leechSeed": { - name: "Leech Seed", - effect: "A seed is planted on the target. It steals some HP from the target every turn." + name: "Egelsamen", + effect: "Ziel wird bepflanzt und verliert jede Runde KP, die ein Pokémon aus dem Team des Anwenders heilen." }, "growth": { - name: "Growth", - effect: "The user's body grows all at once, raising the Attack and Sp. Atk stats." + name: "Wachstum", + effect: "Der Körper wächst. Dadurch steigen Angriff und Spezial-Angriff." }, "razorLeaf": { - name: "Razor Leaf", - effect: "Sharp-edged leaves are launched to slash at opposing Pokémon. Critical hits land more easily." + name: "Rasierblatt", + effect: "Trifft das Ziel mit Blättern. Hohe Volltrefferquote." }, "solarBeam": { - name: "Solar Beam", - effect: "In this two-turn attack, the user gathers light, then blasts a bundled beam on the next turn." + name: "Solarstrahl", + effect: "Absorbiert Licht in Runde 1. In Runde 2 erfolgt der Angriff." }, "poisonPowder": { - name: "Poison Powder", - effect: "The user scatters a cloud of poisonous dust that poisons the target." + name: "Giftpuder", + effect: "Verstreut giftigen Puder auf das Ziel." }, "stunSpore": { - name: "Stun Spore", - effect: "The user scatters a cloud of numbing powder that paralyzes the target." + name: "Stachelspore", + effect: "Verstreut lähmenden Puder." }, "sleepPowder": { - name: "Sleep Powder", - effect: "The user scatters a big cloud of sleep-inducing dust around the target." + name: "Schlafpuder", + effect: "Verstreut Schlafpuder, der das Ziel eventuell in Schlaf versetzt." }, "petalDance": { - name: "Petal Dance", - effect: "The user attacks the target by scattering petals for two to three turns. The user then becomes confused." + name: "Blättertanz", + effect: "Angriff mit Blütenblättern für zwei bis drei Runden. Angreifer wird verwirrt." }, "stringShot": { - name: "String Shot", - effect: "Opposing Pokémon are bound with silk blown from the user's mouth that harshly lowers the Speed stat." + name: "Fadenschuss", + effect: "Umwickelt Ziele in der Nähe mit Fäden aus dem Mund und senkt den Initiative-Wert." }, "dragonRage": { - name: "Dragon Rage", - effect: "This attack hits the target with a shock wave of pure rage. This attack always inflicts 40 HP damage." + name: "Drachenwut", + effect: "Stößt eine wutgeladene Schockwelle aus, die stets 40 KP Schaden anrichtet." }, "fireSpin": { - name: "Fire Spin", - effect: "The target becomes trapped within a fierce vortex of fire that rages for four to five turns." + name: "Feuerwirbel", + effect: "Das Ziel wird für vier bis fünf Runden in einem Feuerkreis gefangen." }, "thunderShock": { - name: "Thunder Shock", - effect: "A jolt of electricity crashes down on the target to inflict damage. This may also leave the target with paralysis." + name: "Donnerschock", + effect: "Eine Elektro-Attacke, die das Ziel eventuell paralysiert." }, "thunderbolt": { - name: "Thunderbolt", - effect: "A strong electric blast crashes down on the target. This may also leave the target with paralysis." + name: "Donnerblitz", + effect: "Eine starke Elektro-Attacke, die das Ziel eventuell paralysiert." }, "thunderWave": { - name: "Thunder Wave", - effect: "The user launches a weak jolt of electricity that paralyzes the target." + name: "Donnerwelle", + effect: "Ein schwacher Stromstoß, der das Ziel paralysiert." }, "thunder": { - name: "Thunder", - effect: "A wicked thunderbolt is dropped on the target to inflict damage. This may also leave the target with paralysis." + name: "Donner", + effect: "Eine verheerende Elektro-Attacke, die das Ziel eventuell paralysiert." }, "rockThrow": { - name: "Rock Throw", - effect: "The user picks up and throws a small rock at the target to attack." + name: "Steinwurf", + effect: "Das Ziel wird mit einem kleinen Stein beworfen." }, "earthquake": { - name: "Earthquake", - effect: "The user sets off an earthquake that strikes every Pokémon around it." + name: "Erdbeben", + effect: "Ein mächtiges Beben, das die anderen Pokémon in der Nähe des Anwenders trifft." }, "fissure": { - name: "Fissure", - effect: "The user opens up a fissure in the ground and drops the target in. The target faints instantly if this attack hits." + name: "Geofissur", + effect: "Das Ziel wird in eine Erdspalte geworfen. Ist die Attacke erfolgreich, führt sie zu einem K.O." }, "dig": { - name: "Dig", - effect: "The user burrows into the ground, then attacks on the next turn." + name: "Schaufler", + effect: "In Runde 1 gräbt sich der Anwender ein und in Runde 2 greift er an. Macht Flucht aus Höhlen möglich." }, "toxic": { - name: "Toxic", - effect: "A move that leaves the target badly poisoned. Its poison damage worsens every turn." + name: "Toxin", + effect: "Vergiftet das Ziel mit einem potenten Toxin schwer. Vergiftung wird von Runde zu Runde stärker." }, "confusion": { - name: "Confusion", - effect: "The target is hit by a weak telekinetic force. This may also confuse the target." + name: "Konfusion", + effect: "Das Ziel wird von schwacher telekinetischer Energie getroffen und eventuell verwirrt." }, "psychic": { - name: "Psychic", - effect: "The target is hit by a strong telekinetic force. This may also lower the target's Sp. Def stat." + name: "Psychokinese", + effect: "Starke Psycho-Attacke, die eventuell die Spezial-Verteidigung des Zieles senkt." }, "hypnosis": { - name: "Hypnosis", - effect: "The user employs hypnotic suggestion to make the target fall into a deep sleep." + name: "Hypnose", + effect: "Hypnose-Attacke, die das Ziel in Schlaf versetzt." }, "meditate": { - name: "Meditate", - effect: "The user meditates to awaken the power deep within its body and raise its Attack stat." + name: "Meditation", + effect: "Anwender aktiviert Kräfte, die tief in seinem Inneren schlummern, und steigert so seinen Angriffs-Wert." }, "agility": { - name: "Agility", - effect: "The user relaxes and lightens its body to move faster. This sharply raises the Speed stat." + name: "Agilität", + effect: "Entspannt den Körper, um den Initiative-Wert stark zu steigern." }, "quickAttack": { - name: "Quick Attack", - effect: "The user lunges at the target at a speed that makes it almost invisible. This move always goes first." + name: "Ruckzuckhieb", + effect: "Sehr schneller Angriff mit Erstschlaggarantie." }, "rage": { - name: "Rage", - effect: "As long as this move is in use, the power of rage raises the Attack stat each time the user is hit in battle." + name: "Raserei", + effect: "Erhöht Angriff des Anwenders, wenn dieser getroffen wird, solange die Attacke aktiviert ist." }, "teleport": { name: "Teleport", - effect: "The user switches places with a party Pokémon in waiting, if any. If a wild Pokémon uses this move, it flees." + effect: "Der Anwender tauscht den Platz mit einem anderen Team-Mitglied, sofern vorhanden. Setzen wilde Pokémon die Attacke ein, ergreifen diese die Flucht." }, "nightShade": { - name: "Night Shade", - effect: "The user makes the target see a frightening mirage. It inflicts damage equal to the user's level." + name: "Nachtnebel", + effect: "Das Ziel sieht eine Illusion. Richtet Schaden gemäß dem Level des Anwenders an." }, "mimic": { - name: "Mimic", - effect: "The user copies the target's last move. The move can be used during battle until the Pokémon is switched out." + name: "Mimikry", + effect: "Kopiert die zuvor ausgeführte Attacke des Zieles. Kann im Kampf bis zur Auswechslung verwendet werden." }, "screech": { - name: "Screech", - effect: "An earsplitting screech harshly lowers the target's Defense stat." + name: "Kreideschrei", + effect: "Stößt einen Schrei aus, um die Verteidigung des Zieles stark zu senken." }, "doubleTeam": { - name: "Double Team", - effect: "By moving rapidly, the user makes illusory copies of itself to raise its evasiveness." + name: "Doppelteam", + effect: "Erzeugt durch schnelle Bewegungen Ebenbilder, um den Fluchtwert zu erhöhen." }, "recover": { - name: "Recover", - effect: "Restoring its own cells, the user restores its own HP by half of its max HP." + name: "Genesung", + effect: "Eine Selbstheilung. KP des Anwenders werden um 50 % des maximalen Wertes aufgefüllt." }, "harden": { - name: "Harden", - effect: "The user stiffens all the muscles in its body to raise its Defense stat." + name: "Härtner", + effect: "Stärkt die Muskulatur und erhöht den Verteidigungs-Wert." }, "minimize": { - name: "Minimize", - effect: "The user compresses its body to make itself look smaller, which sharply raises its evasiveness." + name: "Komprimator", + effect: "Anwender schrumpft, um seinen Fluchtwert stark zu erhöhen." }, "smokescreen": { - name: "Smokescreen", - effect: "The user releases an obscuring cloud of smoke or ink. This lowers the target's accuracy." + name: "Rauchwolke", + effect: "Senkt Genauigkeit des Zieles mit Rauch, Tinte oder Ähnlichem." }, "confuseRay": { - name: "Confuse Ray", - effect: "The target is exposed to a sinister ray that triggers confusion." + name: "Konfusstrahl", + effect: "Ein fieser Strahl, der das Ziel verwirrt." }, "withdraw": { - name: "Withdraw", - effect: "The user withdraws its body into its hard shell, raising its Defense stat." + name: "Panzerschutz", + effect: "Rückzug in den harten Panzer. Erhöht den Verteidigungs-Wert." }, "defenseCurl": { - name: "Defense Curl", - effect: "The user curls up to conceal weak spots and raise its Defense stat." + name: "Einigler", + effect: "Verbirgt Schwächen durch Einrollen und hebt gleichzeitig den Verteidigungs-Wert." }, "barrier": { - name: "Barrier", - effect: "The user throws up a sturdy wall that sharply raises its Defense stat." + name: "Barriere", + effect: "Erzeugt eine Barriere, die den Verteidigungs-Wert stark erhöht." }, "lightScreen": { - name: "Light Screen", - effect: "A wondrous wall of light is put up to reduce damage from special attacks for five turns." + name: "Lichtschild", + effect: "Erzeugt eine Lichtwand und senkt den Schaden durch Spezial-Angriffe für fünf Runden." }, "haze": { - name: "Haze", - effect: "The user creates a haze that eliminates every stat change among all the Pokémon engaged in battle." + name: "Dunkelnebel", + effect: "Erzeugt einen dunklen Nebel. Alle Veränderungen der Statuswerte der Kampfteilnehmer werden annulliert." }, "reflect": { - name: "Reflect", - effect: "A wondrous wall of light is put up to reduce damage from physical attacks for five turns." + name: "Reflektor", + effect: "Eine mysteriöse Wand, die fünf Runden den Schaden von physischen gegnerischen Treffern reduziert." }, "focusEnergy": { - name: "Focus Energy", - effect: "The user takes a deep breath and focuses so that critical hits land more easily." + name: "Energiefokus", + effect: "Anwender atmet ein und bündelt Kraft. Die Volltrefferquote steigt dadurch." }, "bide": { - name: "Bide", - effect: "The user endures attacks for two turns, then strikes back to cause double the damage taken." + name: "Geduld", + effect: "Erträgt zwei Runden Angriffe und schlägt dann mit dem doppelten Wert des erlittenen Schadens zurück." }, "metronome": { - name: "Metronome", - effect: "The user waggles a finger and stimulates its brain into randomly using nearly any move." + name: "Metronom", + effect: "Bewegt Finger, um das Gehirn zu stimulieren. Wählt zufällig eine Attacke aus." }, "mirrorMove": { - name: "Mirror Move", - effect: "The user counters the target by mimicking the target's last move." + name: "Spiegeltrick", + effect: "Kopiert die letzte Attacke des Zieles und greift es an." }, "selfDestruct": { - name: "Self-Destruct", - effect: "The user attacks everything around it by causing an explosion. The user faints upon using this move." + name: "Finale", + effect: "Anwender sprengt sich, richtet rundum Riesenschaden an und wird dabei besiegt." }, "eggBomb": { - name: "Egg Bomb", - effect: "A large egg is hurled at the target with maximum force to inflict damage." + name: "Eierbombe", + effect: "Ein großes Ei wird auf das Ziel abgefeuert, um ihm zu schaden." }, "lick": { - name: "Lick", - effect: "The target is licked with a long tongue, causing damage. This may also leave the target with paralysis." + name: "Schlecker", + effect: "Leck-Attacke mit langer Zunge. Das Ziel wird eventuell paralysiert." }, "smog": { name: "Smog", - effect: "The target is attacked with a discharge of filthy gases. This may also poison the target." + effect: "Angriff mit Gas. Das Ziel kann eventuell vergiftet werden." }, "sludge": { - name: "Sludge", - effect: "Unsanitary sludge is hurled at the target. This may also poison the target." + name: "Schlammbad", + effect: "Wirft Schlamm auf das Ziel. Dieses wird eventuell vergiftet." }, "boneClub": { - name: "Bone Club", - effect: "The user clubs the target with a bone. This may also make the target flinch." + name: "Knochenkeule", + effect: "Schlägt das Ziel mit einer Keule und lässt es eventuell zurückschrecken." }, "fireBlast": { - name: "Fire Blast", - effect: "The target is attacked with an intense blast of all-consuming fire. This may also leave the target with a burn." + name: "Feuersturm", + effect: "Feuersbrunst, die das Ziel versengt und ihm eventuell eine Verbrennung zufügt." }, "waterfall": { - name: "Waterfall", - effect: "The user charges at the target and may make it flinch." + name: "Kaskade", + effect: "Eine mächtige Attacke, durch die das Ziel eventuell zurückschreckt." }, "clamp": { - name: "Clamp", - effect: "The target is clamped and squeezed by the user's very thick and sturdy shell for four to five turns." + name: "Schnapper", + effect: "Fängt und quetscht das Ziel über vier bis fünf Runden durch die harte Schale des Anwenders." }, "swift": { - name: "Swift", - effect: "Star-shaped rays are shot at opposing Pokémon. This attack never misses." + name: "Sternschauer", + effect: "Verschießt sternförmige Strahlen, die stets treffen, auf Ziele in der Umgebung." }, "skullBash": { - name: "Skull Bash", - effect: "The user tucks in its head to raise its Defense stat on the first turn, then rams the target on the next turn." + name: "Schädelwumme", + effect: "Der Anwender erhöht in Runde 1 seine Verteidigung und greift in Runde 2 an." }, "spikeCannon": { - name: "Spike Cannon", - effect: "Sharp spikes are shot at the target in rapid succession. They hit two to five times in a row." + name: "Dornkanone", + effect: "Spitze Nadeln treffen das Ziel zwei- bis fünfmal hintereinander." }, "constrict": { - name: "Constrict", - effect: "The target is attacked with long, creeping tentacles, vines, or the like. This may also lower the target's Speed stat." + name: "Umklammerung", + effect: "Angriff mit langen Tentakeln oder Ranken. Senkt eventuell den Initiative-Wert." }, "amnesia": { - name: "Amnesia", - effect: "The user temporarily empties its mind to forget its concerns. This sharply raises the user's Sp. Def stat." + name: "Amnesie", + effect: "Gedächtnisverlust, der die Spezial-Verteidigung stark erhöht." }, "kinesis": { - name: "Kinesis", - effect: "The user distracts the target by bending a spoon. This lowers the target's accuracy." + name: "Psykraft", + effect: "Lenkt Ziel durch Verbiegen eines Löffels ab. Senkt dessen Genauigkeit." }, "softBoiled": { - name: "Soft-Boiled", - effect: "The user restores its own HP by up to half of its max HP." + name: "Weichei", + effect: "KP des Anwenders werden um 50 % der maximalen KP aufgefüllt." }, "highJumpKick": { - name: "High Jump Kick", - effect: "The target is attacked with a knee kick from a jump. If it misses, the user is hurt instead." + name: "Turmkick", + effect: "Sprungtritt mit Knie. Bei Misserfolg verletzt sich der Anwender selbst." }, "glare": { - name: "Glare", - effect: "The user intimidates the target with the pattern on its belly to cause paralysis." + name: "Schlangenblick", + effect: "Schüchtert Ziel mit dem Muster auf seinem Bauch ein, sodass dieses paralysiert wird." }, "dreamEater": { - name: "Dream Eater", - effect: "The user eats the dreams of a sleeping target. The user's HP is restored by half the damage taken by the target." + name: "Traumfresser", + effect: "Attacke gegen schlafendes Ziel. Die Hälfte des zugefügten Schadens wird dem Anwender gutgeschrieben." }, "poisonGas": { - name: "Poison Gas", - effect: "A cloud of poison gas is sprayed in the face of opposing Pokémon, poisoning those it hits." + name: "Giftwolke", + effect: "Hüllt Ziele in der Umgebung in Gas ein, das sie eventuell vergiftet." }, "barrage": { - name: "Barrage", - effect: "Round objects are hurled at the target to strike two to five times in a row." + name: "Stakkato", + effect: "Wirft zwei- bis fünfmal runde Gegenstände auf das Ziel." }, "leechLife": { - name: "Leech Life", - effect: "The user drains the target's blood. The user's HP is restored by half the damage taken by the target." + name: "Blutsauger", + effect: "Die Hälfte des zugefügten Schadens wird dem Anwender gutgeschrieben." }, "lovelyKiss": { - name: "Lovely Kiss", - effect: "With a scary face, the user tries to force a kiss on the target. If it succeeds, the target falls asleep." + name: "Todeskuss", + effect: "Anwender zwingt dem Ziel einen Kuss auf, der Schlaf verursacht." }, "skyAttack": { - name: "Sky Attack", - effect: "A second-turn attack move where critical hits land more easily. This may also make the target flinch." + name: "Himmelsfeger", + effect: "Anwender greift in der zweiten Runde mit hoher Volltrefferquote an. Ziel schreckt eventuell zurück." }, "transform": { - name: "Transform", - effect: "The user transforms into a copy of the target right down to having the same move set." + name: "Wandler", + effect: "Anwender verwandelt sich in ein Abbild des Zieles und kann so auf die gleichen Attacken zugreifen." }, "bubble": { - name: "Bubble", - effect: "A spray of countless bubbles is jetted at the opposing Pokémon. This may also lower their Speed stat." + name: "Blubber", + effect: "Angriff mit Blasen. Initiative-Wert des Zieles wird eventuell gesenkt." }, "dizzyPunch": { - name: "Dizzy Punch", - effect: "The target is hit with rhythmically launched punches. This may also leave the target confused." + name: "Irrschlag", + effect: "Rhythmische Schläge, die das Ziel verwirren können." }, "spore": { - name: "Spore", - effect: "The user scatters bursts of spores that induce sleep." + name: "Pilzspore", + effect: "Erzeugt eine Wolke aus einschläfernden Sporen." }, "flash": { - name: "Flash", - effect: "The user flashes a bright light that cuts the target's accuracy." + name: "Blitz", + effect: "Erzeugt helles Licht, das die Genauigkeit des Zieles senkt." }, "psywave": { - name: "Psywave", - effect: "The target is attacked with an odd psychic wave. The attack varies in intensity." + name: "Psywelle", + effect: "Anwender erzeugt eine mysteriöse Energiewelle, deren Intensität von Mal zu Mal anders ausfällt." }, "splash": { - name: "Splash", - effect: "The user just flops and splashes around to no effect at all..." + name: "Platscher", + effect: "Nur ein Platscher, der überhaupt nichts bewirkt." }, "acidArmor": { - name: "Acid Armor", - effect: "The user alters its cellular structure to liquefy itself, sharply raising its Defense stat." + name: "Säurepanzer", + effect: "Verflüssigt Körperzellen des Anwenders. Erhöht den Verteidigungs-Wert stark." }, "crabhammer": { - name: "Crabhammer", - effect: "The target is hammered with a large pincer. Critical hits land more easily." + name: "Krabbhammer", + effect: "Schlägt mit Schere zu. Hohe Volltrefferquote." }, "explosion": { name: "Explosion", - effect: "The user attacks everything around it by causing a tremendous explosion. The user faints upon using this move." + effect: "Anwender explodiert, richtet bei allen Pokémon in seiner Umgebung großen Schaden an und wird selbst kampfunfähig." }, "furySwipes": { - name: "Fury Swipes", - effect: "The target is raked with sharp claws or scythes quickly two to five times in a row." + name: "Kratzfurie", + effect: "Beharkt das Ziel zwei- bis fünfmal mit scharfen Klauen oder Sicheln." }, "bonemerang": { - name: "Bonemerang", - effect: "The user throws the bone it holds. The bone loops around to hit the target twice—coming and going." + name: "Knochmerang", + effect: "Ein Bumerang aus Knochen, der zweimal trifft." }, "rest": { - name: "Rest", - effect: "The user goes to sleep for two turns. This fully restores the user's HP and heals any status conditions." + name: "Erholung", + effect: "Anwender wird vollkommen geheilt und schläft die folgenden zwei Runden." }, "rockSlide": { - name: "Rock Slide", - effect: "Large boulders are hurled at opposing Pokémon to inflict damage. This may also make the opposing Pokémon flinch." + name: "Steinhagel", + effect: "Schleudert riesige Felsen auf Ziele in der Umgebung, die eventuell zurückschrecken." }, "hyperFang": { - name: "Hyper Fang", - effect: "The user bites hard on the target with its sharp front fangs. This may also make the target flinch." + name: "Hyperzahn", + effect: "Angriff mit scharfen Reißzähnen. Ziel schreckt eventuell zurück." }, "sharpen": { - name: "Sharpen", - effect: "The user makes its edges more jagged, which raises its Attack stat." + name: "Schärfer", + effect: "Anwender senkt die Polygonzahl, um Kanten zu erzeugen, die den Angriffs-Wert erhöhen." }, "conversion": { - name: "Conversion", - effect: "The user changes its type to become the same type as the move at the top of the list of moves it knows." + name: "Umwandlung", + effect: "Wandelt den Typ des Anwenders in den Typ der ersten Attacke des Anwenders um." }, "triAttack": { - name: "Tri Attack", - effect: "The user strikes with a simultaneous three-beam attack. This may also burn, freeze, or paralyze the target." + name: "Triplette", + effect: "Feuert drei Strahlen ab. Verursacht eventuell Paralyse, Verbrennung oder Einfrieren." }, "superFang": { - name: "Super Fang", - effect: "The user chomps hard on the target with its sharp front fangs. This cuts the target's HP in half." + name: "Superzahn", + effect: "Greift mit scharfen Reißzähnen an. KP des Zieles werden halbiert." }, "slash": { - name: "Slash", - effect: "The target is attacked with a slash of claws or blades. Critical hits land more easily." + name: "Schlitzer", + effect: "Hieb mit Klauen oder Ähnlichem. Hohe Volltrefferquote." }, "substitute": { - name: "Substitute", - effect: "The user creates a substitute for itself using some of its HP. The substitute serves as the user's decoy." + name: "Delegator", + effect: "Anwender setzt eine kleine Menge an KP ein, um einen Doppelgänger zu erzeugen, der für ihn Schläge einsteckt." }, "struggle": { - name: "Struggle", - effect: "This attack is used in desperation only if the user has no PP. It also damages the user a little." + name: "Verzweifler", + effect: "Angriff nur bei verbrauchten AP. Anwender verletzt sich selbst leicht." }, "sketch": { - name: "Sketch", - effect: "It enables the user to permanently learn the move last used by the target. Once used, Sketch disappears." + name: "Nachahmer", + effect: "Anwender lernt die letzte Attacke des Zieles dauerhaft. Nachahmer verschwindet nach Gebrauch." }, "tripleKick": { - name: "Triple Kick", - effect: "A consecutive three-kick attack that becomes more powerful with each successful hit." + name: "Dreifachkick", + effect: "Tritt das Ziel ein- bis dreimal nacheinander. Die Härte der Tritte nimmt von Treffer zu Treffer zu." }, "thief": { - name: "Thief", - effect: "The user attacks and has a 30% chance to steal the target's held item simultaneously." + name: "Raub", + effect: "Erlaubt es, das Item des Zieles zu stehlen, solang der Anwender selbst keins bei sich trägt." }, "spiderWeb": { - name: "Spider Web", - effect: "The user ensnares the target with thin, gooey silk so it can't flee from battle." + name: "Spinnennetz", + effect: "Wickelt das Ziel ein. Flucht oder Tausch unmöglich." }, "mindReader": { - name: "Mind Reader", - effect: "The user senses the target's movements with its mind to ensure its next attack does not miss the target." + name: "Willensleser", + effect: "Ahnt Bewegungen des Zieles voraus, um zu gewährleisten, dass die nächste eigene Attacke trifft." }, "nightmare": { - name: "Nightmare", - effect: "A sleeping target sees a nightmare that inflicts some damage every turn." + name: "Nachtmahr", + effect: "Dem schlafenden Ziel wird durch einen Alptraum in jeder Runde Schaden zugefügt, solang es schläft." }, "flameWheel": { - name: "Flame Wheel", - effect: "The user cloaks itself in fire and charges at the target. This may also leave the target with a burn." + name: "Flammenrad", + effect: "Feuer-Attacke, die das Ziel eventuell verbrennt." }, "snore": { - name: "Snore", - effect: "This attack can be used only if the user is asleep. The harsh noise may also make the target flinch." + name: "Schnarcher", + effect: "Attacke nur im Schlaf möglich. Ziel schreckt eventuell zurück." }, "curse": { - name: "Curse", - effect: "A move that works differently for the Ghost type than for all other types." + name: "Fluch", + effect: "Attacke, deren Wirkung davon abhängt, ob der Anwender ein Geist-Pokémon ist." }, "flail": { - name: "Flail", - effect: "The user flails about aimlessly to attack. The less HP the user has, the greater the move's power." + name: "Dreschflegel", + effect: "Attacke richtet mehr Schaden an, wenn eigene KP niedrig sind." }, "conversion2": { - name: "Conversion 2", - effect: "The user changes its type to make itself resistant to the type of the attack the target used last." + name: "Umwandlung2", + effect: "Anwender ändert Typ und wird gegen letzten Angriffstyp resistent." }, "aeroblast": { - name: "Aeroblast", - effect: "A vortex of air is shot at the target to inflict damage. Critical hits land more easily." + name: "Luftstoß", + effect: "Erzeugt Luftstrudel gegen das Ziel. Hohe Volltrefferquote." }, "cottonSpore": { - name: "Cotton Spore", - effect: "The user releases cotton-like spores that cling to opposing Pokémon, which harshly lowers their Speed stats." + name: "Baumwollsaat", + effect: "Wattebäusche heften sich an das Ziel. Der Initiative-Wert sinkt stark." }, "reversal": { - name: "Reversal", - effect: "An all-out attack that becomes more powerful the less HP the user has." + name: "Gegenschlag", + effect: "Richtet mehr Schaden an, wenn eigene KP niedrig sind." }, "spite": { - name: "Spite", - effect: "The user unleashes its grudge on the move last used by the target by cutting 4 PP from it." + name: "Groll", + effect: "AP der letzten Attacke des Zieles werden um 4 gesenkt." }, "powderSnow": { - name: "Powder Snow", - effect: "The user attacks with a chilling gust of powdery snow. This may also freeze opposing Pokémon." + name: "Pulverschnee", + effect: "Angriff mit Schnee. Das Ziel wird eventuell eingefroren." }, "protect": { - name: "Protect", - effect: "This move enables the user to protect itself from all attacks. Its chance of failing rises if it is used in succession." + name: "Schutzschild", + effect: "Anwender weicht jeder Attacke aus. Scheitert eventuell bei Wiederholung." }, "machPunch": { - name: "Mach Punch", - effect: "The user throws a punch at blinding speed. This move always goes first." + name: "Tempohieb", + effect: "Extrem schneller Hieb, der stets zuerst trifft." }, "scaryFace": { - name: "Scary Face", - effect: "The user frightens the target with a scary face to harshly lower its Speed stat." + name: "Grimasse", + effect: "Jagt dem Ziel mit einer Grimasse Angst ein. Dessen Initiative-Wert sinkt stark." }, "feintAttack": { - name: "Feint Attack", - effect: "The user approaches the target disarmingly, then throws a sucker punch. This attack never misses." + name: "Finte", + effect: "Anwender nähert sich mit Unschuldsmiene dem Ziel und schlägt zu, sobald dieses unachtsam wird. Ein Treffer ist gewiss." }, "sweetKiss": { - name: "Sweet Kiss", - effect: "The user kisses the target with a sweet, angelic cuteness that causes confusion." + name: "Bitterkuss", + effect: "Anwender küsst das Ziel, das durch diese Niedlichkeit verwirrt wird." }, "bellyDrum": { - name: "Belly Drum", - effect: "The user maximizes its Attack stat in exchange for HP equal to half its max HP." + name: "Bauchtrommel", + effect: "Der Anwender maximiert den Angriffs-Wert auf Kosten der Hälfte seiner maximalen KP." }, "sludgeBomb": { - name: "Sludge Bomb", - effect: "Unsanitary sludge is hurled at the target. This may also poison the target." + name: "Matschbombe", + effect: "Wirft Schlamm auf das Ziel. Dieses wird eventuell vergiftet." }, "mudSlap": { - name: "Mud-Slap", - effect: "The user hurls mud in the target's face to inflict damage and lower its accuracy." + name: "Lehmschelle", + effect: "Schadet dem Ziel durch Matsch. Dessen Genauigkeit sinkt." }, "octazooka": { name: "Octazooka", - effect: "The user attacks by spraying ink in the target's face or eyes. This may also lower the target's accuracy." + effect: "Schießt mit Tinte, um Schaden anzurichten und die Genauigkeit zu senken." }, "spikes": { - name: "Spikes", - effect: "The user lays a trap of spikes at the opposing team's feet. The trap hurts Pokémon that switch into battle." + name: "Stachler", + effect: "Der Anwender verteilt Stacheln, die gegnerische Pokémon verletzen, die in den Kampf gerufen werden." }, "zapCannon": { - name: "Zap Cannon", - effect: "The user fires an electric blast like a cannon to inflict damage and cause paralysis." + name: "Blitzkanone", + effect: "Kanonenähnlicher Elektro-Schuss, der schadet und paralysiert." }, "foresight": { - name: "Foresight", - effect: "Enables a Ghost-type target to be hit by Normal- and Fighting-type attacks. This also enables an evasive target to be hit." + name: "Scharfblick", + effect: "Erlaubt es, Geist-Pokémon mit Normal- und Kampf-Attacken anzugreifen. Ignoriert den Fluchtwert des Zieles." }, "destinyBond": { - name: "Destiny Bond", - effect: "After using this move, if the user faints, the Pokémon that landed the knockout hit also faints. Its chance of failing rises if it is used in succession." + name: "Abgangsbund", + effect: "Wird der Anwender nach Einsatz dieser Attacke besiegt, führt dies auch beim Ziel zum K.O." }, "perishSong": { - name: "Perish Song", - effect: "Any Pokémon that hears this song faints in three turns, unless it switches out of battle." + name: "Abgesang", + effect: "Wer diese Musik hört, wird nach drei Runden besiegt. Rettung ist durch den Eintausch eines neuen Pokémon möglich." }, "icyWind": { - name: "Icy Wind", - effect: "The user attacks with a gust of chilled air. This also lowers opposing Pokémon's Speed stats." + name: "Eissturm", + effect: "Eis-Attacke, die dem Ziel Schaden zufügt und seinen Initiative-Wert senkt." }, "detect": { - name: "Detect", - effect: "This move enables the user to protect itself from all attacks. Its chance of failing rises if it is used in succession." + name: "Scanner", + effect: "Anwender weicht jeder Attacke aus. Scheitert eventuell bei Wiederholung." }, "boneRush": { - name: "Bone Rush", - effect: "The user strikes the target with a hard bone two to five times in a row." + name: "Knochenhatz", + effect: "Greift Ziel zwei- bis fünfmal in Folge mit einem harten Knochen an." }, "lockOn": { - name: "Lock-On", - effect: "The user takes sure aim at the target. This ensures the next attack does not miss the target." + name: "Zielschuss", + effect: "Visiert das Ziel an und trifft in der nächsten Runde garantiert." }, "outrage": { - name: "Outrage", - effect: "The user rampages and attacks for two to three turns. The user then becomes confused." + name: "Wutanfall", + effect: "Attacke über zwei bis drei Runden, die den Anwender verwirrt." }, "sandstorm": { - name: "Sandstorm", - effect: "A five-turn sandstorm is summoned to hurt all combatants except Rock, Ground, and Steel types. It raises the Sp. Def stat of Rock types." + name: "Sandsturm", + effect: "Sandsturm für fünf Runden. Fügt Pokémon von jedem Typ außer Gestein, Boden und Stahl Schaden zu." }, "gigaDrain": { - name: "Giga Drain", - effect: "A nutrient-draining attack. The user's HP is restored by half the damage taken by the target." + name: "Gigasauger", + effect: "Das Ziel wird angegriffen und die Hälfte des zugefügten Schadens dem Angreifer als KP gutgeschrieben." }, "endure": { - name: "Endure", - effect: "The user endures any attack with at least 1 HP. Its chance of failing rises if it is used in succession." + name: "Ausdauer", + effect: "Nach fatalen Attacken bleibt stets 1 KP übrig. Misserfolg bei Wiederholung möglich." }, "charm": { - name: "Charm", - effect: "The user gazes at the target rather charmingly, making it less wary. This harshly lowers the target's Attack stat." + name: "Charme", + effect: "Betört das Ziel und reduziert dessen Angriffs-Wert stark." }, "rollout": { - name: "Rollout", - effect: "The user continually rolls into the target over five turns. It becomes more powerful each time it hits." + name: "Walzer", + effect: "Attacke, die fünf Runden dauert. Die Härte nimmt von Mal zu Mal zu." }, "falseSwipe": { - name: "False Swipe", - effect: "A restrained attack that prevents the target from fainting. The target is left with at least 1 HP." + name: "Trugschlag", + effect: "Ein Angriff, der dem Ziel zumindest 1 KP lässt." }, "swagger": { - name: "Swagger", - effect: "The user enrages and confuses the target. However, this also sharply raises the target's Attack stat." + name: "Angeberei", + effect: "Verwirrt das Ziel und erhöht dessen Angriffs-Wert stark." }, "milkDrink": { - name: "Milk Drink", - effect: "The user restores its own HP by up to half of its max HP." + name: "Milchgetränk", + effect: "KP des Anwenders werden um 50 % der maximalen KP aufgefüllt." }, "spark": { - name: "Spark", - effect: "The user throws an electrically charged tackle at the target. This may also leave the target with paralysis." + name: "Funkensprung", + effect: "Elektro-Hieb, der das Ziel paralysieren kann." }, "furyCutter": { - name: "Fury Cutter", - effect: "The target is slashed with scythes or claws. This attack becomes more powerful if it hits in succession." + name: "Zornklinge", + effect: "Eine Attacke mit Scheren oder Klauen, deren Härte bei aufeinanderfolgenden Treffern zunimmt." }, "steelWing": { - name: "Steel Wing", - effect: "The target is hit with wings of steel. This may also raise the user's Defense stat." + name: "Stahlflügel", + effect: "Trifft das Ziel mit Stahlflügeln. Verteidigungs-Wert des Anwenders steigt eventuell." }, "meanLook": { - name: "Mean Look", - effect: "The user pins the target with a dark, arresting look. The target becomes unable to flee." + name: "Horrorblick", + effect: "Böser Blick, der die Flucht des Zieles vereitelt." }, "attract": { - name: "Attract", - effect: "If it is the opposite gender of the user, the target becomes infatuated and less likely to attack." + name: "Anziehung", + effect: "Angriff auf Anwender vom anderen Geschlecht wird unwahrscheinlich." }, "sleepTalk": { - name: "Sleep Talk", - effect: "While it is asleep, the user randomly uses one of the moves it knows." + name: "Schlafrede", + effect: "Anwender setzt per Zufall eine ihm bekannte Attacke im Schlaf ein." }, "healBell": { - name: "Heal Bell", - effect: "The user makes a soothing bell chime to heal the status conditions of all the party Pokémon." + name: "Vitalglocke", + effect: "Läutet beruhigend und heilt alle Statusprobleme im Team." }, "return": { - name: "Return", - effect: "This full-power attack grows more powerful the more the user likes its Trainer." + name: "Rückkehr", + effect: "Angriff, dessen Kraft bei Freundschaft zum Trainer größer wird." }, "present": { - name: "Present", - effect: "The user attacks by giving the target a gift with a hidden trap. It restores HP sometimes, however." + name: "Geschenk", + effect: "Eine Bombe als Geschenk. Kann auch KP des Zieles wiederherstellen." }, "frustration": { name: "Frustration", - effect: "This full-power attack grows more powerful the less the user likes its Trainer." + effect: "Die Attacke wird stärker, je weniger der Anwender seinen Trainer mag." }, "safeguard": { - name: "Safeguard", - effect: "The user creates a protective field that prevents status conditions for five turns." + name: "Bodyguard", + effect: "Team des Anwenders ist fünf Runden vor Statusproblemen geschützt." }, "painSplit": { - name: "Pain Split", - effect: "The user adds its HP to the target's HP, then equally shares the combined HP with the target." + name: "Leidteiler", + effect: "Addiert KP von Anwender und Ziel. Teilt sie gerecht auf." }, "sacredFire": { - name: "Sacred Fire", - effect: "The target is razed with a mystical fire of great intensity. This may also leave the target with a burn." + name: "Läuterfeuer", + effect: "Mystische Feuer-Attacke, durch die das Ziel eventuell Verbrennungen erleidet." }, "magnitude": { - name: "Magnitude", - effect: "The user attacks everything around it with a ground-shaking quake. Its power varies." + name: "Intensität", + effect: "Erdbebenartiger Angriff von zufälliger Stärke gegen andere Pokémon in der Umgebung des Anwenders." }, "dynamicPunch": { - name: "Dynamic Punch", - effect: "The user punches the target with full, concentrated power. This confuses the target if it hits." + name: "Wuchtschlag", + effect: "Kräftiger Schlag, der das Ziel bei Erfolg verwirrt." }, "megahorn": { - name: "Megahorn", - effect: "Using its tough and impressive horn, the user rams into the target with no letup." + name: "Vielender", + effect: "Brutaler Ramm-Angriff mit spitzem, beeindruckendem Horn." }, "dragonBreath": { - name: "Dragon Breath", - effect: "The user exhales a mighty gust that inflicts damage. This may also leave the target with paralysis." + name: "Feuerodem", + effect: "Fegt das Ziel mit zerstörerisch heißem Atem weg. Paralysiert das Ziel eventuell." }, "batonPass": { - name: "Baton Pass", - effect: "The user switches places with a party Pokémon in waiting and passes along any stat changes." + name: "Stafette", + effect: "Tauscht das eigene Pokémon aus. Alle Statusveränderungen bleiben bestehen." }, "encore": { - name: "Encore", - effect: "The user compels the target to keep using the move it encored for three turns." + name: "Zugabe", + effect: "Das Ziel wiederholt die letzte Attacke drei Runden lang." }, "pursuit": { - name: "Pursuit", - effect: "The power of this attack move is doubled if it's used on a target that's switching out of battle." + name: "Verfolgung", + effect: "Die Attacke richtet beim Ziel doppelten Schaden an, falls es ausgetauscht wird." }, "rapidSpin": { - name: "Rapid Spin", - effect: "A spin attack that can also eliminate such moves as Bind, Wrap, and Leech Seed. This also raises the user's Speed stat." + name: "Turbodreher", + effect: "Trifft das Ziel mit einer Dreh-Attacke. Befreit sich unter anderem von Wickel, Klammergriff, Egelsamen und Stachler." }, "sweetScent": { - name: "Sweet Scent", - effect: "A sweet scent that harshly lowers opposing Pokémon's evasiveness." + name: "Lockduft", + effect: "Lockt Ziele an und senkt deren Fluchtwert. Lockt im Gras auch wilde Pokémon an." }, "ironTail": { - name: "Iron Tail", - effect: "The target is slammed with a steel-hard tail. This may also lower the target's Defense stat." + name: "Eisenschweif", + effect: "Attacke mit hartem Eisenschweif. Senkt eventuell den Verteidigungs-Wert des Zieles." }, "metalClaw": { - name: "Metal Claw", - effect: "The target is raked with steel claws. This may also raise the user's Attack stat." + name: "Metallklaue", + effect: "Klauen-Attacke, die eventuell den Angriffs-Wert des Anwenders erhöht." }, "vitalThrow": { - name: "Vital Throw", - effect: "The user attacks last. In return, this throw move never misses." + name: "Überwurf", + effect: "Anwender greift als Letzter an, hat dafür aber eine Treffergarantie beim eigenen Angriff." }, "morningSun": { - name: "Morning Sun", - effect: "The user restores its own HP. The amount of HP regained varies with the weather." + name: "Morgengrauen", + effect: "Füllt KP des Anwenders auf. Die Menge hängt vom Wetter ab." }, "synthesis": { - name: "Synthesis", - effect: "The user restores its own HP. The amount of HP regained varies with the weather." + name: "Synthese", + effect: "Füllt KP des Anwenders auf. Die Menge hängt vom Wetter ab." }, "moonlight": { - name: "Moonlight", - effect: "The user restores its own HP. The amount of HP regained varies with the weather." + name: "Mondschein", + effect: "Füllt KP des Anwenders auf. Die Menge hängt vom Wetter ab." }, "hiddenPower": { - name: "Hidden Power", - effect: "A unique attack that varies in type depending on the Pokémon using it." + name: "Kraftreserve", + effect: "Wirkung und Typ der Attacke hängen vom Anwender ab." }, "crossChop": { - name: "Cross Chop", - effect: "The user delivers a double chop with its forearms crossed. Critical hits land more easily." + name: "Kreuzhieb", + effect: "Doppelter Hieb mit den Unterarmen. Hohe Volltrefferquote." }, "twister": { - name: "Twister", - effect: "The user whips up a vicious tornado to tear at opposing Pokémon. This may also make them flinch." + name: "Windhose", + effect: "Trifft Ziele in der Umgebung mit einem heftigen Wirbelsturm, was diese eventuell zurückschrecken lässt." }, "rainDance": { - name: "Rain Dance", - effect: "The user summons a heavy rain that falls for five turns, powering up Water-type moves. It lowers the power of Fire-type moves." + name: "Regentanz", + effect: "Anwender erzeugt starken Regen. Die Stärke von Wasser-Attacken erhöht sich fünf Runden lang." }, "sunnyDay": { - name: "Sunny Day", - effect: "The user intensifies the sun for five turns, powering up Fire-type moves. It lowers the power of Water-type moves." + name: "Sonnentag", + effect: "Die Sonne brennt unbarmherzig fünf Runden lang. Dadurch werden Attacken vom Typ Feuer verstärkt." }, "crunch": { - name: "Crunch", - effect: "The user crunches up the target with sharp fangs. This may also lower the target's Defense stat." + name: "Knirscher", + effect: "Beißt mit scharfen Reißzähnen zu und senkt eventuell die Verteidigung." }, "mirrorCoat": { - name: "Mirror Coat", - effect: "A retaliation move that counters any special attack, inflicting double the damage taken." + name: "Spiegelcape", + effect: "Kontert den Spezial-Angriff des Gegners mit doppeltem Schaden." }, "psychUp": { - name: "Psych Up", - effect: "The user hypnotizes itself into copying any stat change made by the target." + name: "Psycho-Plus", + effect: "Der Anwender hypnotisiert sich selbst, um die Statusveränderungen des Zieles zu kopieren." }, "extremeSpeed": { - name: "Extreme Speed", - effect: "The user charges the target at blinding speed. This move always goes first." + name: "Turbotempo", + effect: "Extrem schnelle und kraftvolle Attacke, die stets zuerst trifft." }, "ancientPower": { - name: "Ancient Power", - effect: "The user attacks with a prehistoric power. This may also raise all the user's stats at once." + name: "Antik-Kraft", + effect: "Angriff mit antiker Kraft, der alle Statuswerte erhöhen kann." }, "shadowBall": { - name: "Shadow Ball", - effect: "The user hurls a shadowy blob at the target. This may also lower the target's Sp. Def stat." + name: "Spukball", + effect: "Bewirft das Ziel mit gruseligem Ball und senkt eventuell die Spezial-Verteidigung." }, "futureSight": { - name: "Future Sight", - effect: "Two turns after this move is used, a hunk of psychic energy attacks the target." + name: "Seher", + effect: "Zwei Runden, nachdem Seher eingesetzt wurde, erfolgt der Angriff." }, "rockSmash": { - name: "Rock Smash", - effect: "The user attacks with a punch. This may also lower the target's Defense stat." + name: "Zertrümmerer", + effect: "Diese steinbrechende Attacke kann den Verteidigungs-Wert des Zieles senken und außerhalb von Kämpfen rissige Felsen zertrümmern." }, "whirlpool": { name: "Whirlpool", - effect: "The user traps the target in a violent swirling whirlpool for four to five turns." + effect: "Das Ziel wird für vier bis fünf Runden in einer Wasserhose gefangen." }, "beatUp": { - name: "Beat Up", - effect: "The user gets all party Pokémon to attack the target. The more party Pokémon, the greater the number of attacks." + name: "Prügler", + effect: "Das gesamte Team nimmt aktiv am Kampf teil. Je mehr Pokémon, desto höher die Anzahl der Angriffe." }, "fakeOut": { - name: "Fake Out", - effect: "This attack hits first and makes the target flinch. It only works the first turn each time the user enters battle." + name: "Mogelhieb", + effect: "Diese Attacke trifft zuerst. Das Ziel schreckt zurück. Gelingt nur in der ersten Runde eines Kampfes." }, "uproar": { - name: "Uproar", - effect: "The user attacks in an uproar for three turns. During that time, no Pokémon can fall asleep." + name: "Aufruhr", + effect: "Anwender greift an, indem er über drei Runden hinweg einen Aufruhr erzeugt. Verhindert Schlaf." }, "stockpile": { - name: "Stockpile", - effect: "The user charges up power and raises both its Defense and Sp. Def stats. The move can be used three times." + name: "Horter", + effect: "Lädt Kraft für später auf. Erhöht Verteidigung und Spezial-Verteidigung. Kann bis zu dreimal eingesetzt werden." }, "spitUp": { - name: "Spit Up", - effect: "The power stored using the move Stockpile is released at once in an attack. The more power is stored, the greater the move's power." + name: "Entfessler", + effect: "Entlädt die Kraft, die während des Einsatzes von Horter gesammelt wurde." }, "swallow": { - name: "Swallow", - effect: "The power stored using the move Stockpile is absorbed by the user to heal its HP. Storing more power heals more HP." + name: "Verzehrer", + effect: "Absorbiert die gehortete Kraft, um KP aufzufüllen." }, "heatWave": { - name: "Heat Wave", - effect: "The user attacks by exhaling hot breath on opposing Pokémon. This may also leave those Pokémon with a burn." + name: "Hitzewelle", + effect: "Ziele werden von Sturm aus heißer Luft getroffen und verbrennen sich eventuell." }, "hail": { - name: "Hail", - effect: "The user summons a hailstorm lasting five turns. It damages all Pokémon except Ice types." + name: "Hagelsturm", + effect: "Hagelsturm für fünf Runden. Schadet allen, außer Eis-Pokémon." }, "torment": { - name: "Torment", - effect: "The user torments and enrages the target, making it incapable of using the same move twice in a row." + name: "Folterknecht", + effect: "Erzürnt das Ziel, um wiederholten Einsatz derselben Attacke zu verhindern." }, "flatter": { - name: "Flatter", - effect: "Flattery is used to confuse the target. However, this also raises the target's Sp. Atk stat." + name: "Schmeichler", + effect: "Schmeichelt dem Ziel, um es zu verwirren. Erhöht dessen Spezial-Angriff." }, "willOWisp": { - name: "Will-O-Wisp", - effect: "The user shoots a sinister flame at the target to inflict a burn." + name: "Irrlicht", + effect: "Angriff mit unheimlicher Flamme, die das Ziel verbrennt." }, "memento": { - name: "Memento", - effect: "The user faints when using this move. In return, this harshly lowers the target's Attack and Sp. Atk stats." + name: "Memento-Mori", + effect: "Der Anwender wird besiegt und senkt den Angriffs-Wert und den Spezial-Angriff des Zieles stark." }, "facade": { - name: "Facade", - effect: "This attack move doubles its power if the user is poisoned, burned, or paralyzed." + name: "Fassade", + effect: "Doppelte Stärke nach Verbrennung, Paralyse oder Vergiftung." }, "focusPunch": { - name: "Focus Punch", - effect: "The user focuses its mind before launching a punch. This move fails if the user is hit before it is used." + name: "Power-Punch", + effect: "Anwender konzentriert sich, bevor er angreift. Wird er vorher getroffen, ist die Attacke erfolglos." }, "smellingSalts": { - name: "Smelling Salts", - effect: "This attack's power is doubled when used on a target with paralysis. This also cures the target's paralysis, however." + name: "Riechsalz", + effect: "Doppelt wirksam gegen paralysierte Ziele, heilt sie aber auch von der Paralyse." }, "followMe": { - name: "Follow Me", - effect: "The user draws attention to itself, making all targets take aim only at the user." + name: "Spotlight", + effect: "Zieht Aufmerksamkeit auf sich. Gegner greift nur Anwender an." }, "naturePower": { - name: "Nature Power", - effect: "This attack makes use of nature's power. Its effects vary depending on the user's environment." + name: "Natur-Kraft", + effect: "Angriff mit der Kraft der Natur, dessen Typ vom Ort abhängt, wo er durchgeführt wird." }, "charge": { - name: "Charge", - effect: "The user boosts the power of the Electric move it uses on the next turn. This also raises the user's Sp. Def stat." + name: "Ladevorgang", + effect: "Lädt Energie für die kommende Elektro-Attacke auf. Erhöht die Spezial-Verteidigung." }, "taunt": { - name: "Taunt", - effect: "The target is taunted into a rage that allows it to use only attack moves for three turns." + name: "Verhöhner", + effect: "Bringt das Ziel in Rage. Dieses kann über drei Runden hinweg nur noch angreifen." }, "helpingHand": { - name: "Helping Hand", - effect: "The user assists an ally by boosting the power of that ally's attack." + name: "Rechte Hand", + effect: "Anwender steigert die Kraft eines Angriffes eines Freundes." }, "trick": { - name: "Trick", - effect: "The user catches the target off guard and swaps its held item with its own." + name: "Trickbetrug", + effect: "Der Anwender überrumpelt das Ziel und tauscht mit ihm die getragenen Items." }, "rolePlay": { - name: "Role Play", - effect: "The user mimics the target completely, copying the target's Ability." + name: "Rollenspiel", + effect: "Parodiert das Ziel und kopiert seine Fähigkeit." }, "wish": { - name: "Wish", - effect: "One turn after this move is used, the user's or its replacement's HP is restored by half the user's max HP." + name: "Wunschtraum", + effect: "Ein Wunsch füllt in der nächsten Runde 50 % der KP des Anwenders bei diesem oder einem eingewechselten Pokémon auf." }, "assist": { - name: "Assist", - effect: "The user hurriedly and randomly uses a move among those known by ally Pokémon." + name: "Zuschuss", + effect: "Greift zufällig mit einer Attacke eines Mitstreiters an." }, "ingrain": { - name: "Ingrain", - effect: "The user lays roots that restore its HP on every turn. Because it's rooted, it can't switch out." + name: "Verwurzler", + effect: "Verwurzelung füllt jede Runde KP auf. Austausch ist unmöglich." }, "superpower": { - name: "Superpower", - effect: "The user attacks the target with great power. However, this also lowers the user's Attack and Defense stats." + name: "Kraftkoloss", + effect: "Starke Attacke, die jedoch auch den Angriff und die Verteidigung des Anwenders senkt." }, "magicCoat": { - name: "Magic Coat", - effect: "Moves like Leech Seed and moves that inflict status conditions are blocked by a barrier and reflected back to the user of those moves." + name: "Magiemantel", + effect: "Egelsamen und alle Attacken mit Status verändernden Effekten prallen ab." }, "recycle": { - name: "Recycle", - effect: "The user recycles a held item that has been used in battle so it can be used again." + name: "Aufbereitung", + effect: "Recycling eines getragenen Items, das zuvor im Kampf verwendet wurde." }, "revenge": { - name: "Revenge", - effect: "This attack move's power is doubled if the user has been hurt by the opponent in the same turn." + name: "Vergeltung", + effect: "Schaden verdoppelt sich, wenn der Anwender in der Runde bereits Schaden vom Ziel des Angriffes genommen hat." }, "brickBreak": { - name: "Brick Break", - effect: "The user attacks with a swift chop. It can also break barriers, such as Light Screen and Reflect." + name: "Durchbruch", + effect: "Ein beherzter Handkantenschlag. Durchbricht Barrieren wie Lichtschild und Reflektor." }, "yawn": { - name: "Yawn", - effect: "The user lets loose a huge yawn that lulls the target into falling asleep on the next turn." + name: "Gähner", + effect: "Angreifer gähnt und das Ziel schläft in der nächsten Runde ein." }, "knockOff": { - name: "Knock Off", - effect: "The user slaps down the target's held item, and that item can't be used in that battle. The move does more damage if the target has a held item." + name: "Abschlag", + effect: "Schlägt das Item des Zieles weg und vereitelt so dessen Gebrauch während des Kampfes. Mehr Schaden gegen Ziele, die ein Item bei sich tragen." }, "endeavor": { - name: "Endeavor", - effect: "This attack move cuts down the target's HP to equal the user's HP." + name: "Notsituation", + effect: "Trifft nur, wenn KP des Anwenders geringer als KP des Zieles sind. Senkt dessen KP auf die Höhe der KP des Anwenders." }, "eruption": { name: "Eruption", - effect: "The user attacks opposing Pokémon with explosive fury. The lower the user's HP, the lower the move's power." + effect: "Explosiver Angriff. Je höher die KP des Anwenders sind, desto mehr Schaden wird angerichtet." }, "skillSwap": { - name: "Skill Swap", - effect: "The user employs its psychic power to exchange Abilities with the target." + name: "Fähigkeitstausch", + effect: "Anwender tauscht Fähigkeit mit dem Ziel." }, "imprison": { - name: "Imprison", - effect: "If opposing Pokémon know any move also known by the user, they are prevented from using it." + name: "Begrenzer", + effect: "Hindert Gegner am Einsatz von Attacken, die der Anwender selbst auch kennt." }, "refresh": { - name: "Refresh", - effect: "The user rests to cure itself of poisoning, a burn, or paralysis." + name: "Heilung", + effect: "Selbstheilung bei Vergiftung, Paralyse und Verbrennung." }, "grudge": { - name: "Grudge", - effect: "If the user faints, the user's grudge fully depletes the PP of the opponent's move that knocked it out." + name: "Nachspiel", + effect: "Bei K.O. des Anwenders werden die AP der Attacke, durch die er besiegt wurde, auf 0 herabgesetzt." }, "snatch": { - name: "Snatch", - effect: "The user steals the effects of any attempts to use a healing or stat-changing move." + name: "Übernahme", + effect: "Raubt den Effekt eingesetzter heilender oder Werte verändernder Attacken." }, "secretPower": { - name: "Secret Power", - effect: "The additional effects of this attack depend upon where it was used." + name: "Geheimpower", + effect: "Angriff, der abhängig vom Anwendungsort einen unterschiedlichen Zusatz-Effekt hat." }, "dive": { - name: "Dive", - effect: "Diving on the first turn, the user floats up and attacks on the next turn." + name: "Taucher", + effect: "Taucht in Runde 1 ab und greift in Runde 2 aus der Tiefe an." }, "armThrust": { - name: "Arm Thrust", - effect: "The user lets loose a flurry of open-palmed arm thrusts that hit two to five times in a row." + name: "Armstoß", + effect: "Schläge mit geradem Arm, die das Ziel zwei- bis fünfmal treffen." }, "camouflage": { - name: "Camouflage", - effect: "The user's type is changed depending on its environment, such as at water's edge, in grass, or in a cave." + name: "Tarnung", + effect: "Der Typ des Anwenders passt sich der Umgebung an, sei es im Wasser, im Gras oder in einer Höhle." }, "tailGlow": { - name: "Tail Glow", - effect: "The user stares at flashing lights to focus its mind, drastically raising its Sp. Atk stat." + name: "Schweifglanz", + effect: "Ein blinkendes Licht, das den Spezial-Angriff drastisch erhöht." }, "lusterPurge": { - name: "Luster Purge", - effect: "The user lets loose a damaging burst of light. This may also lower the target's Sp. Def stat." + name: "Scheinwerfer", + effect: "Angriff mit grellem Licht, der die Spezial-Verteidigung des Zieles eventuell senkt." }, "mistBall": { - name: "Mist Ball", - effect: "A mist-like flurry of down envelops and damages the target. This may also lower the target's Sp. Atk stat." + name: "Nebelball", + effect: "Angriff mit einer Kugel aus Wasser, die Nebel enthält. Senkt eventuell den Spezial-Angriff des Zieles." }, "featherDance": { - name: "Feather Dance", - effect: "The user covers the target's body with a mass of down that harshly lowers its Attack stat." + name: "Daunenreigen", + effect: "Hüllt das Ziel in Daunen und senkt dessen Angriffs-Wert stark." }, "teeterDance": { - name: "Teeter Dance", - effect: "The user performs a wobbly dance that confuses the Pokémon around it." + name: "Taumeltanz", + effect: "Ein Wackeltanz, der andere Pokémon in der Umgebung des Anwenders verwirrt." }, "blazeKick": { - name: "Blaze Kick", - effect: "The user launches a kick that lands a critical hit more easily. This may also leave the target with a burn." + name: "Feuerfeger", + effect: "Starker Tritt mit hoher Volltrefferquote. Verursacht eventuell Verbrennung." }, "mudSport": { - name: "Mud Sport", - effect: "The user kicks up mud on the battlefield. This weakens Electric-type moves for five turns." + name: "Lehmsuhler", + effect: "Schwächt Elektro-Attacken, solang der Anwender am Kampf teilnimmt." }, "iceBall": { - name: "Ice Ball", - effect: "The user attacks the target for five turns. The move's power increases each time it hits." + name: "Frostbeule", + effect: "Attacke, die fünf Runden dauert. Die Härte nimmt von Mal zu Mal zu." }, "needleArm": { - name: "Needle Arm", - effect: "The user attacks by wildly swinging its thorny arms. This may also make the target flinch." + name: "Nietenranke", + effect: "Angriff mit dornigen Armen. Das Ziel schreckt eventuell zurück." }, "slackOff": { - name: "Slack Off", - effect: "The user slacks off, restoring its own HP by up to half of its max HP." + name: "Tagedieb", + effect: "Durch Müßiggang werden KP des Anwenders um 50 % der maximalen KP aufgefüllt." }, "hyperVoice": { - name: "Hyper Voice", - effect: "The user lets loose a horribly echoing shout with the power to inflict damage." + name: "Schallwelle", + effect: "Laute Attacke mit Schallwellen." }, "poisonFang": { - name: "Poison Fang", - effect: "The user bites the target with toxic fangs. This may also leave the target badly poisoned." + name: "Giftzahn", + effect: "Angriff mit giftigen Reißzähnen. Das Ziel wird eventuell schwer vergiftet." }, "crushClaw": { - name: "Crush Claw", - effect: "The user slashes the target with hard and sharp claws. This may also lower the target's Defense stat." + name: "Zermalmklaue", + effect: "Angriff mit scharfen Klauen. Senkt eventuell den Verteidigungs-Wert." }, "blastBurn": { - name: "Blast Burn", - effect: "The target is razed by a fiery explosion. The user can't move on the next turn." + name: "Lohekanonade", + effect: "Das Ziel wird von starker Explosion getroffen. Angreifer setzt eine Runde aus." }, "hydroCannon": { - name: "Hydro Cannon", - effect: "The target is hit with a watery blast. The user can't move on the next turn." + name: "Aquahaubitze", + effect: "Das Ziel wird von Wasserkanone getroffen. Angreifer setzt eine Runde aus." }, "meteorMash": { - name: "Meteor Mash", - effect: "The target is hit with a hard punch fired like a meteor. This may also raise the user's Attack stat." + name: "Sternenhieb", + effect: "Angriff mit einem harten, schnellen Schlag. Erhöht eventuell Angriffs-Wert des Anwenders." }, "astonish": { - name: "Astonish", - effect: "The user attacks the target while shouting in a startling fashion. This may also make the target flinch." + name: "Erstauner", + effect: "Anwender greift mit einem Schrei an. Ein Angriff, der das Ziel eventuell zurückschrecken lässt." }, "weatherBall": { - name: "Weather Ball", - effect: "This attack move varies in power and type depending on the weather." + name: "Meteorologe", + effect: "Typ und Stärke der Attacke sind vom Wetter zum Zeitpunkt der Anwendung abhängig." }, "aromatherapy": { - name: "Aromatherapy", - effect: "The user releases a soothing scent that heals all status conditions affecting the user's party." + name: "Aromakur", + effect: "Heilt alle Statusprobleme des Teams mit beruhigendem Duft." }, "fakeTears": { - name: "Fake Tears", - effect: "The user feigns crying to fluster the target, harshly lowering its Sp. Def stat." + name: "Trugträne", + effect: "Täuscht Weinen vor, um die Spezial-Verteidigung des Zieles stark zu senken." }, "airCutter": { - name: "Air Cutter", - effect: "The user launches razor-like wind to slash opposing Pokémon. Critical hits land more easily." + name: "Windschnitt", + effect: "Greift mit rasierklingenartigem Wind an. Hohe Volltrefferquote." }, "overheat": { - name: "Overheat", - effect: "The user attacks the target at full power. The attack's recoil harshly lowers the user's Sp. Atk stat." + name: "Hitzekoller", + effect: "Angriff mit voller Kraft, der den Spezial-Angriff des Anwenders durch den Rückstoß stark senkt." }, "odorSleuth": { - name: "Odor Sleuth", - effect: "Enables a Ghost-type target to be hit by Normal- and Fighting-type attacks. This also enables an evasive target to be hit." + name: "Schnüffler", + effect: "Erlaubt es, Geist-Pokémon mit Normal- und Kampf-Attacken anzugreifen. Ignoriert den Fluchtwert des Zieles." }, "rockTomb": { - name: "Rock Tomb", - effect: "Boulders are hurled at the target. This also lowers the target's Speed stat by preventing its movement." + name: "Felsgrab", + effect: "Angriff mit Felsen. Bei Erfolg wird der Initiative-Wert des Zieles gesenkt." }, "silverWind": { - name: "Silver Wind", - effect: "The target is attacked with powdery scales blown by the wind. This may also raise all the user's stats." + name: "Silberhauch", + effect: "Angriff mit Silberstaub. Eventuell werden alle Statuswerte des Anwenders erhöht." }, "metalSound": { - name: "Metal Sound", - effect: "A horrible sound like scraping metal harshly lowers the target's Sp. Def stat." + name: "Metallsound", + effect: "Stößt einen spitzen Schrei aus, der die Spezial-Verteidigung des Zieles stark senkt." }, "grassWhistle": { - name: "Grass Whistle", - effect: "The user plays a pleasant melody that lulls the target into a deep sleep." + name: "Grasflöte", + effect: "Versetzt das Ziel durch eine schöne Melodie in Tiefschlaf." }, "tickle": { - name: "Tickle", - effect: "The user tickles the target into laughing, reducing its Attack and Defense stats." + name: "Spaßkanone", + effect: "Bringt das Ziel zum Lachen und senkt dadurch dessen Angriff und Verteidigung." }, "cosmicPower": { - name: "Cosmic Power", - effect: "The user absorbs a mystical power from space to raise its Defense and Sp. Def stats." + name: "Kosmik-Kraft", + effect: "Erhöht Verteidigung und Spezial-Verteidigung durch eine mystische Kraft." }, "waterSpout": { - name: "Water Spout", - effect: "The user spouts water to damage opposing Pokémon. The lower the user's HP, the lower the move's power." + name: "Fontränen", + effect: "Wasser-Attacke, die wirkungsvoller ist, wenn KP des Anwenders hoch sind." }, "signalBeam": { - name: "Signal Beam", - effect: "The user attacks with a sinister beam of light. This may also confuse the target." + name: "Ampelleuchte", + effect: "Strahlenattacke, die das Ziel eventuell verwirrt." }, "shadowPunch": { - name: "Shadow Punch", - effect: "The user throws a punch from the shadows. This attack never misses." + name: "Finsterfaust", + effect: "Angriff mit der Faust aus dem Schattenreich. Ausweichen unmöglich." }, "extrasensory": { - name: "Extrasensory", - effect: "The user attacks with an odd, unseeable power. This may also make the target flinch." + name: "Sondersensor", + effect: "Besonderer Angriff mit einer unsichtbaren Kraft, die das Ziel eventuell zurückschrecken lässt." }, "skyUppercut": { - name: "Sky Uppercut", - effect: "The user attacks the target with an uppercut thrown skyward with force." + name: "Himmelhieb", + effect: "Kinnhaken, der das Ziel gen Himmel schickt." }, "sandTomb": { - name: "Sand Tomb", - effect: "The user traps the target inside a harshly raging sandstorm for four to five turns." + name: "Sandgrab", + effect: "Das Ziel leidet für vier bis fünf Runden in einer Sandhose." }, "sheerCold": { - name: "Sheer Cold", - effect: "The target faints instantly. It's less likely to hit the target if it's used by Pokémon other than Ice types." + name: "Eiseskälte", + effect: "Angriff mit Kälte, die das Ziel bei Erfolg besiegt." }, "muddyWater": { - name: "Muddy Water", - effect: "The user attacks by shooting muddy water at opposing Pokémon. This may also lower their accuracy." + name: "Lehmbrühe", + effect: "Greift mit Matsch an und senkt eventuell die Genauigkeit des Zieles." }, "bulletSeed": { - name: "Bullet Seed", - effect: "The user forcefully shoots seeds at the target two to five times in a row." + name: "Kugelsaat", + effect: "Der Anwender wirft zwei- bis fünfmal in rascher Folge Samen auf das Ziel." }, "aerialAce": { - name: "Aerial Ace", - effect: "The user confounds the target with speed, then slashes. This attack never misses." + name: "Aero-Ass", + effect: "Eine extrem schnelle Attacke, der das Ziel nicht ausweichen kann." }, "icicleSpear": { - name: "Icicle Spear", - effect: "The user launches sharp icicles at the target two to five times in a row." + name: "Eisspeer", + effect: "Feuert zwei bis fünf Eiszapfen auf das Ziel." }, "ironDefense": { - name: "Iron Defense", - effect: "The user hardens its body's surface like iron, sharply raising its Defense stat." + name: "Eisenabwehr", + effect: "Anwender stärkt den Körper, um den Verteidigungs-Wert stark zu erhöhen." }, "block": { - name: "Block", - effect: "The user blocks the target's way with arms spread wide to prevent escape." + name: "Rückentzug", + effect: "Anwender versperrt den Fluchtweg des Zieles." }, "howl": { - name: "Howl", - effect: "The user howls loudly to raise the spirit of itself and allies. This raises their Attack stats." + name: "Jauler", + effect: "Anwender jault, um seinen Kampfgeist und seinen Angriffs-Wert zu erhöhen." }, "dragonClaw": { - name: "Dragon Claw", - effect: "The user slashes the target with huge sharp claws." + name: "Drachenklaue", + effect: "Das Ziel wird mit riesigen, scharfen Klauen stark verletzt." }, "frenzyPlant": { - name: "Frenzy Plant", - effect: "The user slams the target with the roots of an enormous tree. The user can't move on the next turn." + name: "Flora-Statue", + effect: "Angriff mit dickem Ast. Der Angreifer muss eine Runde aussetzen." }, "bulkUp": { - name: "Bulk Up", - effect: "The user tenses its muscles to bulk up its body, raising both its Attack and Defense stats." + name: "Protzer", + effect: "Pumpt den Körper auf, um den Angriff und die Verteidigung zu erhöhen." }, "bounce": { - name: "Bounce", - effect: "The user bounces up high, then drops on the target on the second turn. This may also leave the target with paralysis." + name: "Sprungfeder", + effect: "Angreifer springt und landet in der nächsten Runde auf dem Ziel. Das Ziel wird eventuell paralysiert." }, "mudShot": { - name: "Mud Shot", - effect: "The user attacks by hurling a blob of mud at the target. This also lowers the target's Speed stat." + name: "Lehmschuss", + effect: "Angriff mit Lehm, der den Initiative-Wert des Zieles senkt." }, "poisonTail": { - name: "Poison Tail", - effect: "The user hits the target with its tail. This may also poison the target. Critical hits land more easily." + name: "Giftschweif", + effect: "Angriff mit hoher Volltrefferquote. Diese Schweifattacke vergiftet das Ziel eventuell." }, "covet": { - name: "Covet", - effect: "The user endearingly approaches the target, then has a 30% chance to steal the target's held item." + name: "Bezirzer", + effect: "Bittet charmant um das getragene Item des Zieles und stiehlt es dann." }, "voltTackle": { - name: "Volt Tackle", - effect: "The user electrifies itself and charges the target. This also damages the user quite a lot. This attack may leave the target with paralysis." + name: "Volttackle", + effect: "Angriff mit Elektro-Tackle. Der Anwender verletzt sich dabei. Das Ziel wird eventuell paralysiert." }, "magicalLeaf": { - name: "Magical Leaf", - effect: "The user scatters curious leaves that chase the target. This attack never misses." + name: "Zauberblatt", + effect: "Magischer Blattangriff, dem nicht auszuweichen ist." }, "waterSport": { - name: "Water Sport", - effect: "The user soaks the battlefield with water. This weakens Fire-type moves for five turns." + name: "Nassmacher", + effect: "Der Anwender lässt Wasser herabregnen und schwächt damit fünf Runden lang Feuer-Attacken." }, "calmMind": { - name: "Calm Mind", - effect: "The user quietly focuses its mind and calms its spirit to raise its Sp. Atk and Sp. Def stats." + name: "Gedankengut", + effect: "Erhöht Spezial-Angriff und Spezial-Verteidigung durch Konzentration." }, "leafBlade": { - name: "Leaf Blade", - effect: "The user handles a sharp leaf like a sword and attacks by cutting its target. Critical hits land more easily." + name: "Laubklinge", + effect: "Hieb mit scharfkantigem Blatt. Hohe Volltrefferquote." }, "dragonDance": { - name: "Dragon Dance", - effect: "The user vigorously performs a mystic, powerful dance that raises its Attack and Speed stats." + name: "Drachentanz", + effect: "Ein mystischer Tanz, der den Angriffs- und Initiative-Wert erhöht." }, "rockBlast": { - name: "Rock Blast", - effect: "The user hurls hard rocks at the target. Two to five rocks are launched in a row." + name: "Felswurf", + effect: "Wirft zwei- bis fünfmal in Folge Felsblöcke auf das Ziel." }, "shockWave": { - name: "Shock Wave", - effect: "The user strikes the target with a quick jolt of electricity. This attack never misses." + name: "Schockwelle", + effect: "Angriff mit schnellem Elektro-Schlag. Ausweichen nicht möglich." }, "waterPulse": { - name: "Water Pulse", - effect: "The user attacks the target with a pulsing blast of water. This may also confuse the target." + name: "Aquawelle", + effect: "Angriff mit Wasserwelle, die das Ziel eventuell verwirren kann." }, "doomDesire": { - name: "Doom Desire", - effect: "Two turns after this move is used, a concentrated bundle of light blasts the target." + name: "Kismetwunsch", + effect: "Angriff mit gebündeltem Licht erfolgt zwei Runden nach Attackeneinsatz." }, "psychoBoost": { - name: "Psycho Boost", - effect: "The user attacks the target at full power. The attack's recoil harshly lowers the user's Sp. Atk stat." + name: "Psyschub", + effect: "Angriff mit voller Kraft, der den Spezial-Angriff des Anwenders durch den Rückstoß stark senkt." }, "roost": { - name: "Roost", - effect: "The user lands and rests its body. This move restores the user's HP by up to half of its max HP." + name: "Ruheort", + effect: "Anwender landet und ruht sich aus. KP des Anwenders werden um 50 % der maximalen KP aufgefüllt." }, "gravity": { - name: "Gravity", - effect: "This move enables Flying-type Pokémon or Pokémon with the Levitate Ability to be hit by Ground-type moves. Moves that involve flying can't be used." + name: "Erdanziehung", + effect: "Die Gravitation wird für fünf Runden erhöht. Macht Fliegen unmöglich und verhindert Schwebe." }, "miracleEye": { - name: "Miracle Eye", - effect: "Enables a Dark-type target to be hit by Psychic-type attacks. This also enables an evasive target to be hit." + name: "Wunderauge", + effect: "Erlaubt es, Unlicht-Pokémon mit Psycho-Attacken anzugreifen. Ignoriert den Fluchtwert des Zieles." }, "wakeUpSlap": { - name: "Wake-Up Slap", - effect: "This attack inflicts big damage on a sleeping target. This also wakes the target up, however." + name: "Weckruf", + effect: "Richtet großen Schaden bei einem schlafenden Ziel an, weckt es aber auch auf." }, "hammerArm": { - name: "Hammer Arm", - effect: "The user swings and hits with its strong, heavy fist. It lowers the user's Speed, however." + name: "Hammerarm", + effect: "Anwender trifft mit einem starken Hieb. Senkt Initiative des Anwenders." }, "gyroBall": { - name: "Gyro Ball", - effect: "The user tackles the target with a high-speed spin. The slower the user compared to the target, the greater the move's power." + name: "Gyroball", + effect: "Angriff mit hoher Geschwindigkeit. Je niedriger die Initiative des Anwenders, desto höher der Schaden." }, "healingWish": { - name: "Healing Wish", - effect: "The user faints. In return, the Pokémon taking its place will have its HP restored and status conditions cured." + name: "Heilopfer", + effect: "Anwender geht K.O. Das an seine Stelle tretende Pokémon hat volle KP. Statusprobleme werden geheilt." }, "brine": { - name: "Brine", - effect: "If the target's HP is half or less, this attack will hit with double the power." + name: "Lake", + effect: "Hat das Ziel die Hälfte oder weniger seiner maximalen KP, trifft diese Attacke mit doppelter Kraft." }, "naturalGift": { - name: "Natural Gift", - effect: "The user draws power to attack by using its held Berry. The Berry determines the move's type and power." + name: "Beerenkräfte", + effect: "Anwender zieht aus seiner derzeitigen Beere Kraft. Sie bestimmt Typ und Stärke der Attacke." }, "feint": { - name: "Feint", - effect: "This attack hits a target using a move such as Protect or Detect. This also lifts the effects of those moves." + name: "Offenlegung", + effect: "Ziele, die Schutzschild oder Scanner verwenden, werden getroffen. Entfernt Effekte dieser Attacken." }, "pluck": { - name: "Pluck", - effect: "The user pecks the target. If the target is holding a Berry, the user eats it and gains its effect." + name: "Pflücker", + effect: "Anwender pickt das Ziel, nimmt die Beere, falls das Ziel eine trägt, und erhält ihren Effekt." }, "tailwind": { - name: "Tailwind", - effect: "The user whips up a turbulent whirlwind that ups the Speed stats of the user and its allies for four turns." + name: "Rückenwind", + effect: "Anwender erzeugt einen Wirbelwind, der die Initiative aller Pokémon im Team für vier Runden steigert." }, "acupressure": { - name: "Acupressure", - effect: "The user applies pressure to stress points, sharply boosting one of its or its allies' stats." + name: "Akupressur", + effect: "Anwender erhöht Druck auf Stresspunkte und steigert einen Statuswert stark." }, "metalBurst": { - name: "Metal Burst", - effect: "The user retaliates with much greater force against the opponent that last inflicted damage on it." + name: "Metallstoß", + effect: "Attacke mit großer Kraft gegen das Ziel, das dem Anwender in derselben Runde zuletzt Schaden zufügte." }, "uTurn": { - name: "U-turn", - effect: "After making its attack, the user rushes back to switch places with a party Pokémon in waiting." + name: "Kehrtwende", + effect: "Nach der Attacke eilt der Anwender zurück und tauscht den Platz mit einem anderen Pokémon." }, "closeCombat": { - name: "Close Combat", - effect: "The user fights the target up close without guarding itself. This also lowers the user's Defense and Sp. Def stats." + name: "Nahkampf", + effect: "Nahkampf-Attacke ohne Rücksicht auf Verluste. Senkt Verteidigung und Spezial-Verteidigung des Anwenders." }, "payback": { - name: "Payback", - effect: "The user stores power, then attacks. If the user moves after the target, this attack's power will be doubled." + name: "Gegenstoß", + effect: "Der Anwender lädt die Attacke auf. Handelt das Ziel vor dem Anwender, verdoppelt sich die Kraft der Attacke." }, "assurance": { - name: "Assurance", - effect: "If the target has already taken some damage in the same turn, this attack's power is doubled." + name: "Gewissheit", + effect: "Hat das Ziel während der Runde schon Schaden genommen, wird die Kraft der Attacke verdoppelt." }, "embargo": { - name: "Embargo", - effect: "This move prevents the target from using its held item for five turns. Its Trainer is also prevented from using items on it." + name: "Itemsperre", + effect: "Verhindert, dass auf das Ziel Items verwendet werden." }, "fling": { - name: "Fling", - effect: "The user flings its held item at the target to attack. This move's power and effects depend on the item." + name: "Schleuder", + effect: "Anwender schleudert sein Item auf das Ziel. Kraft und Effekt der Attacke hängen vom Item ab." }, "psychoShift": { - name: "Psycho Shift", - effect: "Using its psychic power of suggestion, the user transfers its status conditions to the target." + name: "Psybann", + effect: "Anwender nutzt seine Suggestivkräfte, um eigene Statusprobleme auf das Ziel zu transferieren." }, "trumpCard": { - name: "Trump Card", - effect: "The fewer PP this move has, the greater its power." + name: "Trumpfkarte", + effect: "Je weniger AP diese Attacke hat, desto mehr Angriffskraft besitzt sie." }, "healBlock": { - name: "Heal Block", - effect: "For five turns, the user prevents the opposing team from using any moves, Abilities, or held items that recover HP." + name: "Heilblockade", + effect: "Anwender verhindert für fünf Runden, dass Ziele durch Attacken, Fähigkeiten oder Items KP regenerieren." }, "wringOut": { - name: "Wring Out", - effect: "The user powerfully wrings the target. The more HP the target has, the greater the move's power." + name: "Auswringen", + effect: "Anwender presst sein Ziel aus. Je höher die KP des Zieles, desto kraftvoller die Attacke." }, "powerTrick": { - name: "Power Trick", - effect: "The user employs its psychic power to switch its Attack stat with its Defense stat." + name: "Krafttrick", + effect: "Anwender setzt Psycho-Kräfte ein, um eigenen Angriffs- mit Verteidigungs-Wert auszutauschen." }, "gastroAcid": { - name: "Gastro Acid", - effect: "The user hurls up its stomach acids on the target. The fluid eliminates the effect of the target's Ability." + name: "Magensäfte", + effect: "Anwender greift das Ziel mit eigenen Magensäften an. Entfernt Effekte von dessen Fähigkeit." }, "luckyChant": { - name: "Lucky Chant", - effect: "The user chants an incantation toward the sky, preventing opposing Pokémon from landing critical hits for five turns." + name: "Beschwörung", + effect: "Anwender singt eine Beschwörungsformel, die Volltreffer gegen ihn verhindert." }, "meFirst": { - name: "Me First", - effect: "The user cuts ahead of the target to copy and use the target's intended move with greater power. This move fails if it isn't used first." + name: "Egotrip", + effect: "Anwender stiehlt und führt die Attacke eines langsameren Zieles zuerst und mit größerer Kraft aus." }, "copycat": { - name: "Copycat", - effect: "The user mimics the move used immediately before it. The move fails if no other move has been used yet." + name: "Imitator", + effect: "Anwender imitiert gerade verwendete Attacke. Dies schlägt fehl, falls zuvor keine Attacke verwendet wurde." }, "powerSwap": { - name: "Power Swap", - effect: "The user employs its psychic power to switch changes to its Attack and Sp. Atk stats with the target." + name: "Krafttausch", + effect: "Psychische Kräfte tauschen Änderungen an Angriff und Spezial-Angriff mit denen des Zieles." }, "guardSwap": { - name: "Guard Swap", - effect: "The user employs its psychic power to switch changes to its Defense and Sp. Def stats with the target." + name: "Schutztausch", + effect: "Psychische Kräfte tauschen Änderungen an Verteidigung und Spezial-Verteidigung mit denen des Zieles." }, "punishment": { - name: "Punishment", - effect: "The more the target has powered up with stat changes, the greater the move's power." + name: "Strafattacke", + effect: "Je stärker das Ziel durch Statusveränderungen ist, desto stärker wirkt diese Attacke." }, "lastResort": { - name: "Last Resort", - effect: "This move can be used only after the user has used all the other moves it knows in the battle." + name: "Zuflucht", + effect: "Diese Attacke kann nur eingesetzt werden, nachdem alle verfügbaren Attacken ausgeführt worden sind." }, "worrySeed": { - name: "Worry Seed", - effect: "A seed that causes worry is planted on the target. It prevents sleep by making the target's Ability Insomnia." + name: "Sorgensamen", + effect: "Ziel wird bepflanzt. Wandelt Fähigkeit in Insomnia um. Verhindert so Schlaf." }, "suckerPunch": { - name: "Sucker Punch", - effect: "This move enables the user to attack first. This move fails if the target is not readying an attack." + name: "Tiefschlag", + effect: "Ermöglicht den Erstschlag. Gelingt aber nur, wenn das Ziel gerade eine Attacke vorbereitet." }, "toxicSpikes": { - name: "Toxic Spikes", - effect: "The user lays a trap of poison spikes at the feet of the opposing team. The spikes will poison opposing Pokémon that switch into battle." + name: "Giftspitzen", + effect: "Anwender legt eine Falle mit Giftdornen aus. In den Kampf eingewechselte gegnerische Pokémon werden vergiftet." }, "heartSwap": { - name: "Heart Swap", - effect: "The user employs its psychic power to switch stat changes with the target." + name: "Statustausch", + effect: "Anwender setzt Psycho-Kräfte ein, um Statusveränderungen des Zieles mit den eigenen zu tauschen." }, "aquaRing": { - name: "Aqua Ring", - effect: "The user envelops itself in a veil made of water. It regains some HP every turn." + name: "Wasserring", + effect: "Anwender umgibt sich mit einem Schleier aus Wasser. Dabei regeneriert er einige KP pro Runde." }, "magnetRise": { - name: "Magnet Rise", - effect: "The user levitates using electrically generated magnetism for five turns." + name: "Magnetflug", + effect: "Anwender schwebt für fünf Runden durch elektrisch erzeugten Magnetismus." }, "flareBlitz": { - name: "Flare Blitz", - effect: "The user cloaks itself in fire and charges the target. This also damages the user quite a lot. This attack may leave the target with a burn." + name: "Flammenblitz", + effect: "Anwender hüllt sich in Flammen und stürmt auf das Ziel zu, das sich eventuell verbrennt. Anwender nimmt selbst großen Schaden." }, "forcePalm": { - name: "Force Palm", - effect: "The target is attacked with a shock wave. This may also leave the target with paralysis." + name: "Kraftwelle", + effect: "Das Ziel wird mit einer Schockwelle angegriffen, die es eventuell paralysiert." }, "auraSphere": { - name: "Aura Sphere", - effect: "The user lets loose a blast of aura power from deep within its body at the target. This attack never misses." + name: "Aurasphäre", + effect: "Tief aus dem Inneren des Anwenders löst sich ein kraftvoller Stoß Auraenergie. Trifft in jedem Fall." }, "rockPolish": { - name: "Rock Polish", - effect: "The user polishes its body to reduce drag. This sharply raises the Speed stat." + name: "Steinpolitur", + effect: "Anwender reduziert so gut wie möglich den Luftwiderstand. Kann Initiative-Wert stark steigern." }, "poisonJab": { - name: "Poison Jab", - effect: "The target is stabbed with a tentacle, arm, or the like steeped in poison. This may also poison the target." + name: "Gifthieb", + effect: "Ziel wird mit vergiftetem Arm oder Tentakel verletzt. Es wird dabei eventuell vergiftet." }, "darkPulse": { - name: "Dark Pulse", - effect: "The user releases a horrible aura imbued with dark thoughts. This may also make the target flinch." + name: "Finsteraura", + effect: "Anwender greift mit fürchterlicher Aura schlechter Gedanken an. Ziel schreckt eventuell zurück." }, "nightSlash": { - name: "Night Slash", - effect: "The user slashes the target the instant an opportunity arises. Critical hits land more easily." + name: "Nachthieb", + effect: "Anwender greift bei der ersten Gelegenheit mit scharfen Klauen an. Hohe Volltrefferquote." }, "aquaTail": { - name: "Aqua Tail", - effect: "The user attacks by swinging its tail as if it were a vicious wave in a raging storm." + name: "Nassschweif", + effect: "Anwender attackiert mit dem Schweif, als ob dieser eine brutale Welle in einem tosenden Sturm sei." }, "seedBomb": { - name: "Seed Bomb", - effect: "The user slams a barrage of hard-shelled seeds down on the target from above." + name: "Samenbomben", + effect: "Anwender lässt eine Menge Samen mit harter Schale von oben auf das Ziel fallen." }, "airSlash": { - name: "Air Slash", - effect: "The user attacks with a blade of air that slices even the sky. This may also make the target flinch." + name: "Luftschnitt", + effect: "Das Ziel wird mit einer Luftklinge angegriffen. Ziel schreckt eventuell zurück." }, "xScissor": { - name: "X-Scissor", - effect: "The user slashes at the target by crossing its scythes or claws as if they were a pair of scissors." + name: "Kreuzschere", + effect: "Der Anwender führt eine Attacke aus, die einer Scherenbewegung ähnelt." }, "bugBuzz": { - name: "Bug Buzz", - effect: "The user generates a damaging sound wave by vibration. This may also lower the target's Sp. Def stat." + name: "Käfergebrumm", + effect: "Anwender schlägt mit den Flügeln und erzeugt eine Schockwelle. Senkt eventuell Spezial-Verteidigung des Zieles." }, "dragonPulse": { - name: "Dragon Pulse", - effect: "The target is attacked with a shock wave generated by the user's gaping mouth." + name: "Drachenpuls", + effect: "Das Ziel wird mit einer Schockwelle angegriffen, die aus dem offenen Maul des Anwenders kommt." }, "dragonRush": { - name: "Dragon Rush", - effect: "The user tackles the target while exhibiting overwhelming menace. This may also make the target flinch." + name: "Drachenstoß", + effect: "Anwender führt einen gefährlichen Angriff aus. Das Ziel schreckt eventuell zurück." }, "powerGem": { - name: "Power Gem", - effect: "The user attacks with a ray of light that sparkles as if it were made of gemstones." + name: "Juwelenkraft", + effect: "Anwender attackiert mit einem Lichtstrahl, der funkelt, als sei er aus Juwelen." }, "drainPunch": { - name: "Drain Punch", - effect: "An energy-draining punch. The user's HP is restored by half the damage taken by the target." + name: "Ableithieb", + effect: "Entzieht dem Ziel Energie. Die Hälfte des Schadens wird den KP des Anwenders zugerechnet." }, "vacuumWave": { - name: "Vacuum Wave", - effect: "The user whirls its fists to send a wave of pure vacuum at the target. This move always goes first." + name: "Vakuumwelle", + effect: "Ein Faustwirbel sendet eine Vakuumwelle auf das Ziel. Erstschlaggarantie." }, "focusBlast": { - name: "Focus Blast", - effect: "The user heightens its mental focus and unleashes its power. This may also lower the target's Sp. Def stat." + name: "Fokusstoß", + effect: "Anwender erhöht seinen mentalen Fokus und greift dann an. Senkt eventuell Spezial-Verteidigung des Zieles." }, "energyBall": { - name: "Energy Ball", - effect: "The user draws power from nature and fires it at the target. This may also lower the target's Sp. Def stat." + name: "Energieball", + effect: "Anwender zieht Kraft aus der Natur und feuert sie auf das Ziel. Senkt eventuell Spezial-Verteidigung des Zieles." }, "braveBird": { - name: "Brave Bird", - effect: "The user tucks in its wings and charges from a low altitude. This also damages the user quite a lot." + name: "Sturzflug", + effect: "Anwender greift aus niedriger Höhe an. Er erleidet bei dieser Attacke selbst großen Schaden." }, "earthPower": { - name: "Earth Power", - effect: "The user makes the ground under the target erupt with power. This may also lower the target's Sp. Def stat." + name: "Erdkräfte", + effect: "Der Boden unter dem Ziel erzittert durch die Kraft der Erde. Senkt eventuell Spezial-Verteidigung." }, "switcheroo": { - name: "Switcheroo", - effect: "The user trades held items with the target faster than the eye can follow." + name: "Wechseldich", + effect: "Item wird in Windeseile mit dem Ziel getauscht." }, "gigaImpact": { - name: "Giga Impact", - effect: "The user charges at the target using every bit of its power. The user can't move on the next turn." + name: "Gigastoß", + effect: "Anwender rennt mit seiner ganzen Kraft gegen das Ziel an und muss dann eine Runde ruhen." }, "nastyPlot": { - name: "Nasty Plot", - effect: "The user stimulates its brain by thinking bad thoughts. This sharply raises the user's Sp. Atk stat." + name: "Ränkeschmied", + effect: "Anwender stimuliert sein Gehirn und hat finstere Gedanken. Steigert Spezial-Angriff stark." }, "bulletPunch": { - name: "Bullet Punch", - effect: "The user strikes the target with tough punches as fast as bullets. This move always goes first." + name: "Patronenhieb", + effect: "Das Ziel wird von ultraschnellen Hieben getroffen. Erstschlaggarantie." }, "avalanche": { - name: "Avalanche", - effect: "The power of this attack move is doubled if the user has been hurt by the target in the same turn." + name: "Lawine", + effect: "Wurde der Anwender in dieser Runde vom Ziel getroffen, macht diese Attacke doppelten Schaden." }, "iceShard": { - name: "Ice Shard", - effect: "The user flash-freezes chunks of ice and hurls them at the target. This move always goes first." + name: "Eissplitter", + effect: "Das Ziel wird mit Eisklumpen beworfen. Diese Attacke hat Erstschlaggarantie." }, "shadowClaw": { - name: "Shadow Claw", - effect: "The user slashes with a sharp claw made from shadows. Critical hits land more easily." + name: "Dunkelklaue", + effect: "Das Ziel wird mit scharfen Klauen aus der Schattenwelt attackiert. Hohe Volltrefferquote." }, "thunderFang": { - name: "Thunder Fang", - effect: "The user bites with electrified fangs. This may also make the target flinch or leave it with paralysis." + name: "Donnerzahn", + effect: "Anwender beißt mit elektrifizierten Reißzähnen zu. Das Ziel schreckt eventuell zurück oder wird paralysiert." }, "iceFang": { - name: "Ice Fang", - effect: "The user bites with cold-infused fangs. This may also make the target flinch or leave it frozen." + name: "Eiszahn", + effect: "Anwender beißt mit eiskalten Reißzähnen zu. Ziel schreckt eventuell zurück oder friert ein." }, "fireFang": { - name: "Fire Fang", - effect: "The user bites with flame-cloaked fangs. This may also make the target flinch or leave it with a burn." + name: "Feuerzahn", + effect: "Anwender beißt mit flammenden Reißzähnen zu. Ziel schreckt eventuell zurück oder verbrennt sich." }, "shadowSneak": { - name: "Shadow Sneak", - effect: "The user extends its shadow and attacks the target from behind. This move always goes first." + name: "Schattenstoß", + effect: "Anwender erweitert Schatten und greift das Ziel von hinten an. Erstschlaggarantie." }, "mudBomb": { - name: "Mud Bomb", - effect: "The user launches a hard-packed mud ball to attack. This may also lower the target's accuracy." + name: "Schlammbombe", + effect: "Anwender greift mit einem festen Schlammklumpen an. Senkt eventuell Genauigkeit des Zieles." }, "psychoCut": { - name: "Psycho Cut", - effect: "The user tears at the target with blades formed by psychic power. Critical hits land more easily." + name: "Psychoklinge", + effect: "Das Ziel wird mit Klingen attackiert, die aus Psycho-Energie bestehen. Hohe Volltrefferquote." }, "zenHeadbutt": { - name: "Zen Headbutt", - effect: "The user focuses its willpower to its head and attacks the target. This may also make the target flinch." + name: "Zen-Kopfstoß", + effect: "Anwender konzentriert seinen Willen und rammt das Ziel. Dieses schreckt eventuell zurück." }, "mirrorShot": { - name: "Mirror Shot", - effect: "The user lets loose a flash of energy at the target from its polished body. This may also lower the target's accuracy." + name: "Spiegelsalve", + effect: "Anwender feuert Energiestrahl aus seinem Körper ab. Senkt eventuell Genauigkeit des Zieles." }, "flashCannon": { - name: "Flash Cannon", - effect: "The user gathers all its light energy and releases it all at once. This may also lower the target's Sp. Def stat." + name: "Lichtkanone", + effect: "Anwender sammelt Lichtenergie und feuert sie auf einmal ab. Senkt eventuell Spezial-Verteidigung des Zieles." }, "rockClimb": { - name: "Rock Climb", - effect: "The user attacks the target by smashing into it with incredible force. This may also confuse the target." + name: "Kraxler", + effect: "Eine stürmische Attacke, die das Ziel eventuell verwirrt." }, "defog": { - name: "Defog", - effect: "A strong wind blows away the target's barriers such as Reflect or Light Screen. This also lowers the target's evasiveness." + name: "Auflockern", + effect: "Starker Wind hebt Attacken wie Reflektor und Lichtschild des Zieles auf. Senkt außerdem den Fluchtwert." }, "trickRoom": { - name: "Trick Room", - effect: "The user creates a bizarre area in which slower Pokémon get to move first for five turns." + name: "Bizarroraum", + effect: "Anwender erzeugt einen bizarren Raum, in dem langsame Pokémon fünf Runden lang zuerst agieren." }, "dracoMeteor": { name: "Draco Meteor", - effect: "Comets are summoned down from the sky onto the target. The attack's recoil harshly lowers the user's Sp. Atk stat." + effect: "Kometen werden heraufbeschworen. Der Rückstoß reduziert den Spezial-Angriff des Anwenders stark." }, "discharge": { - name: "Discharge", - effect: "The user strikes everything around it by letting loose a flare of electricity. This may also cause paralysis." + name: "Ladungsstoß", + effect: "Anwender greift alle Pokémon im Umkreis mit Elektrizität an. Diese werden eventuell auch paralysiert." }, "lavaPlume": { - name: "Lava Plume", - effect: "The user torches everything around it in an inferno of scarlet flames. This may also leave those it hits with a burn." + name: "Flammensturm", + effect: "Greift alles in seiner Umgebung mit tiefroten Flammen an. Ziel kann Verbrennungen erleiden." }, "leafStorm": { - name: "Leaf Storm", - effect: "The user whips up a storm of leaves around the target. The attack's recoil harshly lowers the user's Sp. Atk stat." + name: "Blättersturm", + effect: "Anwender erzeugt einen Sturm aus scharfen Blättern. Rückstoß senkt Spezial-Angriff des Anwenders stark." }, "powerWhip": { - name: "Power Whip", - effect: "The user violently whirls its vines, tentacles, or the like to harshly lash the target." + name: "Blattgeißel", + effect: "Anwender wirbelt seine Ranken oder Tentakel peitschenartig gegen das Ziel." }, "rockWrecker": { - name: "Rock Wrecker", - effect: "The user launches a huge boulder at the target to attack. The user can't move on the next turn." + name: "Felswerfer", + effect: "Anwender wirft einen riesigen Felsen auf das Ziel. In der nächsten Runde muss der Anwender ruhen." }, "crossPoison": { - name: "Cross Poison", - effect: "A slashing attack with a poisonous blade that may also poison the target. Critical hits land more easily." + name: "Giftstreich", + effect: "Ein schneidender Hieb, der das Ziel eventuell vergiftet. Hat eine hohe Volltrefferquote." }, "gunkShot": { - name: "Gunk Shot", - effect: "The user shoots filthy garbage at the target to attack. This may also poison the target." + name: "Mülltreffer", + effect: "Anwender schießt mit Müll auf das Ziel. Vergiftet dieses eventuell." }, "ironHead": { - name: "Iron Head", - effect: "The user slams the target with its steel-hard head. This may also make the target flinch." + name: "Eisenschädel", + effect: "Ziel wird durch stahlharten Kopf des Anwenders getroffen und schreckt eventuell zurück." }, "magnetBomb": { - name: "Magnet Bomb", - effect: "The user launches steel bombs that stick to the target. This attack never misses." + name: "Magnetbombe", + effect: "Ziel wird durch Haftbomben getroffen. Diese Attacke trifft immer." }, "stoneEdge": { - name: "Stone Edge", - effect: "The user stabs the target from below with sharpened stones. Critical hits land more easily." + name: "Steinkante", + effect: "Anwender sticht das Ziel mit spitzen Steinen. Hohe Volltrefferquote." }, "captivate": { - name: "Captivate", - effect: "If any opposing Pokémon is the opposite gender of the user, it is charmed, which harshly lowers its Sp. Atk stat." + name: "Liebreiz", + effect: "Charme-Attacke, die den Spezial-Angriff des Zieles stark senkt, falls es dem anderen Geschlecht angehört." }, "stealthRock": { - name: "Stealth Rock", - effect: "The user lays a trap of levitating stones around the opposing team. The trap hurts opposing Pokémon that switch into battle." + name: "Tarnsteine", + effect: "Falle mit schwebenden Steinen. In den Kampf eingewechselte Ziele nehmen Schaden." }, "grassKnot": { - name: "Grass Knot", - effect: "The user snares the target with grass and trips it. The heavier the target, the greater the move's power." + name: "Strauchler", + effect: "Ziel wird durch Gras ins Straucheln gebracht. Je schwerer das Ziel, desto mehr Schaden." }, "chatter": { - name: "Chatter", - effect: "The user attacks the target with sound waves of deafening chatter. This confuses the target." + name: "Geschwätz", + effect: "Attacke mit Schallwellen. Verwirrt das Ziel." }, "judgment": { - name: "Judgment", - effect: "The user releases countless shots of light at the target. This move's type varies depending on the kind of Plate the user is holding." + name: "Urteilskraft", + effect: "Anwender feuert unzählige Lichtstrahlen ab. Deren Typ hängt von der gehaltenen Tafel ab." }, "bugBite": { - name: "Bug Bite", - effect: "The user bites the target. If the target is holding a Berry, the user eats it and gains its effect." + name: "Käferbiss", + effect: "Anwender beißt das Ziel. Trägt dieses eine Beere, isst der Anwender sie und erhält ihren Effekt." }, "chargeBeam": { - name: "Charge Beam", - effect: "The user attacks the target with an electric charge. The user may use any remaining electricity to raise its Sp. Atk stat." + name: "Ladestrahl", + effect: "Ziel wird von einem Elektrostrahl getroffen. Steigert eventuell Spezial-Angriff des Anwenders." }, "woodHammer": { - name: "Wood Hammer", - effect: "The user slams its rugged body into the target to attack. This also damages the user quite a lot." + name: "Holzhammer", + effect: "Anwender attackiert mit seinem robusten Körper. Er erleidet dabei auch selbst großen Schaden." }, "aquaJet": { - name: "Aqua Jet", - effect: "The user lunges at the target at a speed that makes it almost invisible. This move always goes first." + name: "Wasserdüse", + effect: "Bei dieser Erstschlag-Attacke stürzt sich der Anwender so schnell auf das Ziel, dass er quasi unsichtbar wird." }, "attackOrder": { - name: "Attack Order", - effect: "The user calls out its underlings to pummel the target. Critical hits land more easily." + name: "Schlagbefehl", + effect: "Anwender ruft seine Untergebenen zum Angriff. Hat eine hohe Volltrefferquote." }, "defendOrder": { - name: "Defend Order", - effect: "The user calls out its underlings to shield its body, raising its Defense and Sp. Def stats." + name: "Blockbefehl", + effect: "Untergebene bilden einen lebenden Schild um den Anwender. Steigert Verteidigung und Spezial-Verteidigung." }, "healOrder": { - name: "Heal Order", - effect: "The user calls out its underlings to heal it. The user regains up to half of its max HP." + name: "Heilbefehl", + effect: "Untergebene heilen den Anwender. KP des Anwenders werden um 50 % der maximalen KP aufgefüllt." }, "headSmash": { - name: "Head Smash", - effect: "The user attacks the target with a hazardous, full-power headbutt. This also damages the user terribly." + name: "Kopfstoß", + effect: "Anwender greift unter Einsatz seines Lebens mit einem Kopfstoß an und nimmt dabei selbst jede Menge Schaden." }, "doubleHit": { - name: "Double Hit", - effect: "The user slams the target with a long tail, vines, or a tentacle. The target is hit twice in a row." + name: "Doppelschlag", + effect: "Anwender trifft das Ziel mit dem Schweif oder Ähnlichem. Ziel wird doppelt getroffen." }, "roarOfTime": { - name: "Roar of Time", - effect: "The user blasts the target with power that distorts even time. The user can't move on the next turn." + name: "Zeitenlärm", + effect: "Anwender attackiert mit einer Kraft, die selbst die Zeit verzerrt. In der nächsten Runde muss er ruhen." }, "spacialRend": { - name: "Spacial Rend", - effect: "The user tears the target along with the space around it. Critical hits land more easily." + name: "Raumschlag", + effect: "Schwere, raumgreifende Attacke. Hohe Volltrefferquote." }, "lunarDance": { - name: "Lunar Dance", - effect: "The user faints. In return, the Pokémon taking its place will have its status and HP fully restored." + name: "Lunartanz", + effect: "Anwender geht K.O. Das an seine Stelle tretende Pokémon hat dafür volle KP und AP. Statusprobleme werden geheilt." }, "crushGrip": { - name: "Crush Grip", - effect: "The target is crushed with great force. The more HP the target has left, the greater this move's power." + name: "Quetschgriff", + effect: "Ziel wird mit großer Kraft getroffen. Je höher die KP des Zieles, desto stärker die Attacke." }, "magmaStorm": { - name: "Magma Storm", - effect: "The target becomes trapped within a maelstrom of fire that rages for four to five turns." + name: "Lavasturm", + effect: "Das Ziel wird in einen Feuersog gezogen, der vier bis fünf Runden aktiv ist." }, "darkVoid": { - name: "Dark Void", - effect: "Opposing Pokémon are dragged into a world of total darkness that makes them sleep." + name: "Schlummerort", + effect: "Das Ziel wird in eine Welt der Dunkelheit gezogen und in Schlaf versetzt." }, "seedFlare": { - name: "Seed Flare", - effect: "The user emits a shock wave from its body to attack its target. This may also harshly lower the target's Sp. Def stat." + name: "Schocksamen", + effect: "Anwender erzeugt eine Schockwelle. Spezial-Verteidigung des Zieles wird stark gesenkt." }, "ominousWind": { - name: "Ominous Wind", - effect: "The user blasts the target with a gust of repulsive wind. This may also raise all the user's stats at once." + name: "Unheilböen", + effect: "Das Ziel treffen abscheuliche Winde. Steigert eventuell alle Statuswerte des Anwenders." }, "shadowForce": { - name: "Shadow Force", - effect: "The user disappears, then strikes the target on the next turn. This move hits even if the target protects itself." + name: "Schemenkraft", + effect: "Anwender verschwindet in Runde 1 und attackiert in Runde 2. Trifft auch, wenn sich das Ziel selbst schützt." }, "honeClaws": { - name: "Hone Claws", - effect: "The user sharpens its claws to boost its Attack stat and accuracy." + name: "Klauenwetzer", + effect: "Wetzt seine Klauen, um sie zu schärfen. Erhöht Angriff und Genauigkeit des Anwenders." }, "wideGuard": { - name: "Wide Guard", - effect: "The user and its allies are protected from wide-ranging attacks for one turn." + name: "Rundumschutz", + effect: "Schützt eine Runde lang vor Angriffen, die alle Pokémon auf deiner Seite treffen." }, "guardSplit": { - name: "Guard Split", - effect: "The user employs its psychic power to average its Defense and Sp. Def stats with those of the target." + name: "Schutzteiler", + effect: "Durch Psycho-Kräfte werden Verteidigung und Spezial-Verteidigung des Anwenders und des Zieles addiert und in zwei gleiche Hälften geteilt." }, "powerSplit": { - name: "Power Split", - effect: "The user employs its psychic power to average its Attack and Sp. Atk stats with those of the target." + name: "Kraftteiler", + effect: "Durch Psycho-Kräfte werden Angriff und Spezial-Angriff des Anwenders und des Zieles addiert und in zwei gleiche Hälften geteilt." }, "wonderRoom": { - name: "Wonder Room", - effect: "The user creates a bizarre area in which Pokémon's Defense and Sp. Def stats are swapped for five turns." + name: "Wunderraum", + effect: "Anwender erzeugt bizarren Raum, in dem über fünf Runden die Verteidigung aller Pokémon mit ihrer Spezial-Verteidigung getauscht wird." }, "psyshock": { - name: "Psyshock", - effect: "The user materializes an odd psychic wave to attack the target. This attack does physical damage." + name: "Psychoschock", + effect: "Anwender erzeugt eine seltsame Energiewelle, die dem Ziel physischen Schaden zufügt." }, "venoshock": { - name: "Venoshock", - effect: "The user drenches the target in a special poisonous liquid. This move's power is doubled if the target is poisoned." + name: "Giftschock", + effect: "Überschüttet das Ziel mit einer speziellen toxischen Flüssigkeit. Doppelt so stark gegen vergiftete Ziele." }, "autotomize": { - name: "Autotomize", - effect: "The user sheds part of its body to make itself lighter and sharply raise its Speed stat." + name: "Autotomie", + effect: "Anwender trennt sich von überflüssigen Körperteilen und steigert seine Initiative stark. Sein Gewicht nimmt deutlich ab." }, "ragePowder": { - name: "Rage Powder", - effect: "The user scatters a cloud of irritating powder to draw attention to itself. Opposing Pokémon aim only at the user." + name: "Wutpulver", + effect: "Anwender zieht gegnerische Aufmerksamkeit und Angriffe auf sich, indem er ein Wut erzeugendes Pulver über sich streut." }, "telekinesis": { - name: "Telekinesis", - effect: "The user makes the target float with its psychic power. The target is easier to hit for three turns." + name: "Telekinese", + effect: "Bringt das Ziel durch Psycho-Kräfte zum Schweben. Dieses lässt sich so über drei Runden hinweg besonders leicht treffen." }, "magicRoom": { - name: "Magic Room", - effect: "The user creates a bizarre area in which Pokémon's held items lose their effects for five turns." + name: "Magieraum", + effect: "Anwender erzeugt einen bizarren Raum, in dem über fünf Runden die Wirkung aller von Pokémon getragenen Items aufgehoben ist." }, "smackDown": { - name: "Smack Down", - effect: "The user throws a stone or similar projectile to attack the target. A flying Pokémon will fall to the ground when it's hit." + name: "Katapult", + effect: "Greift das Ziel mit Steinen und Wurfgeschossen an. Fliegende Ziele fallen dabei vom Himmel und landen auf dem Boden." }, "stormThrow": { - name: "Storm Throw", - effect: "The user strikes the target with a fierce blow. This attack always results in a critical hit." + name: "Bergsturm", + effect: "Ein Angriff mit voller Wucht und Volltreffergarantie." }, "flameBurst": { - name: "Flame Burst", - effect: "The user attacks the target with a bursting flame. The bursting flame damages Pokémon next to the target as well." + name: "Funkenflug", + effect: "Bei Erfolg greift der Anwender mit berstenden Feuerblasen an. Die Funken der geplatzten Blasen treffen auch benachbarte Ziele." }, "sludgeWave": { - name: "Sludge Wave", - effect: "The user strikes everything around it by swamping the area with a giant sludge wave. This may also poison those hit." + name: "Schlammwoge", + effect: "Greift Pokémon in der Nähe des Anwenders mit einer Schlammwelle an. Diese werden eventuell vergiftet." }, "quiverDance": { - name: "Quiver Dance", - effect: "The user lightly performs a beautiful, mystic dance. This boosts the user's Sp. Atk, Sp. Def, and Speed stats." + name: "Falterreigen", + effect: "Anwender legt behände einen mystischen, formvollendeten Tanz aufs Parkett. Spezial-Angriff, Spezial-Verteidigung und Initiative steigen." }, "heavySlam": { - name: "Heavy Slam", - effect: "The user slams into the target with its heavy body. The more the user outweighs the target, the greater the move's power." + name: "Rammboss", + effect: "Anwender rammt das Ziel mit massivem Körper. Je schwerer er im Vergleich zum Ziel ist, desto stärker die Attacke." }, "synchronoise": { - name: "Synchronoise", - effect: "Using an odd shock wave, the user inflicts damage on any Pokémon of the same type in the area around it." + name: "Synchrolärm", + effect: "Fügt Pokémon vom selben Typ, die sich in der Nähe des Anwenders aufhalten, mit seltsamen Druckwellen Schaden zu." }, "electroBall": { - name: "Electro Ball", - effect: "The user hurls an electric orb at the target. The faster the user is than the target, the greater the move's power." + name: "Elektroball", + effect: "Je höher die Initiative des Anwenders im Vergleich zum Ziel ist, desto stärker trifft dieses eine geballte Ladung Strom." }, "soak": { - name: "Soak", - effect: "The user shoots a torrent of water at the target and changes the target's type to Water." + name: "Überflutung", + effect: "Überschüttet das Ziel mit Unmengen an Wasser und ändert den Typ damit in Wasser um." }, "flameCharge": { - name: "Flame Charge", - effect: "Cloaking itself in flame, the user attacks the target. Then, building up more power, the user raises its Speed stat." + name: "Nitroladung", + effect: "Anwender hüllt sich in Flammen und greift das Ziel an. Sammelt seine Energie und erhöht dadurch die eigene Initiative." }, "coil": { - name: "Coil", - effect: "The user coils up and concentrates. This raises its Attack and Defense stats as well as its accuracy." + name: "Einrollen", + effect: "Anwender rollt sich zusammen und sammelt sich. Dabei werden Angriff, Verteidigung und Genauigkeit erhöht." }, "lowSweep": { - name: "Low Sweep", - effect: "The user makes a swift attack on the target's legs, which lowers the target's Speed stat." + name: "Fußtritt", + effect: "Anwender greift mit blitzschnellen Bewegungen die Beine des Zieles an und senkt dessen Initiative." }, "acidSpray": { - name: "Acid Spray", - effect: "The user spits fluid that works to melt the target. This harshly lowers the target's Sp. Def stat." + name: "Säurespeier", + effect: "Anwender greift an, indem er eine ätzende Flüssigkeit auf das Ziel speit. Senkt dessen Spezial-Verteidigung stark." }, "foulPlay": { - name: "Foul Play", - effect: "The user turns the target's power against it. The higher the target's Attack stat, the greater the damage it deals." + name: "Schmarotzer", + effect: "Anwender macht sich die Kraft des Zieles zunutze. Je höher dessen Angriff, desto mehr Schaden richtet die Attacke an." }, "simpleBeam": { - name: "Simple Beam", - effect: "The user's mysterious psychic wave changes the target's Ability to Simple." + name: "Wankelstrahl", + effect: "Bestrahlt das Ziel mit mysteriösen Energiewellen. Bei einem Treffer wird dessen Fähigkeit zu Wankelmut." }, "entrainment": { - name: "Entrainment", - effect: "The user dances with an odd rhythm that compels the target to mimic it, making the target's Ability the same as the user's." + name: "Zwango", + effect: "Anwender tanzt zu einem seltsamem Rhythmus und zwingt das Ziel mitzumachen. Dieses nimmt dabei die Fähigkeit des Anwenders an." }, "afterYou": { - name: "After You", - effect: "The user helps the target and makes it use its move right after the user." + name: "Galanterie", + effect: "Anwender ermöglicht dem Ziel direkt nach ihm zu handeln, solange der Anwender als Erstes zum Zug kommt." }, "round": { - name: "Round", - effect: "The user attacks the target with a song. Others can join in the Round to increase the power of the attack." + name: "Kanon", + effect: "Angriff mit Gesang. Singt der Anwender mit allen im Kanon, steigt die Stärke." }, "echoedVoice": { - name: "Echoed Voice", - effect: "The user attacks the target with an echoing voice. If this move is used every turn, its power is increased." + name: "Widerhall", + effect: "Angriff mit widerhallender Stimme. Wenn in jeder Runde ein Teilnehmer wiederholt die Attacke einsetzt, steigt die Stärke." }, "chipAway": { - name: "Chip Away", - effect: "Looking for an opening, the user strikes consistently. The target's stat changes don't affect this attack's damage." + name: "Zermürben", + effect: "Eine durchdachte Attacke zu rechter Zeit. Richtet unabhängig von den Statusveränderungen des Zieles Schaden an." }, "clearSmog": { - name: "Clear Smog", - effect: "The user attacks the target by throwing a clump of special mud. All stat changes are returned to normal." + name: "Klärsmog", + effect: "Anwender greift das Ziel mit spezialgefertigten Schlammklumpen an. Setzt Statusveränderungen zurück." }, "storedPower": { - name: "Stored Power", - effect: "The user attacks the target with stored power. The more the user's stats are raised, the greater the move's power." + name: "Kraftvorrat", + effect: "Angriff mit angesparter Energie. Je höher die Statuswerte des Anwenders, desto stärker fällt die Attacke aus." }, "quickGuard": { - name: "Quick Guard", - effect: "The user protects itself and its allies from priority moves." + name: "Rapidschutz", + effect: "Schützt Anwender und Mitstreiter vor gegnerischen Erstschlag-Attacken." }, "allySwitch": { - name: "Ally Switch", - effect: "The user teleports using a strange power and switches places with one of its allies." + name: "Seitentausch", + effect: "Wundersame Kräfte teleportieren den Anwender an den Platz eines Mitstreiters." }, "scald": { - name: "Scald", - effect: "The user shoots boiling hot water at its target. This may also leave the target with a burn." + name: "Siedewasser", + effect: "Heizt dem Ziel mit einem Schwall siedend heißen Kochwassers ein. Das Ziel erleidet dabei eventuell Verbrennungen." }, "shellSmash": { - name: "Shell Smash", - effect: "The user breaks its shell, which lowers Defense and Sp. Def stats but sharply raises its Attack, Sp. Atk, and Speed stats." + name: "Hausbruch", + effect: "Anwender zerbricht seine Schale und senkt seine Verteidigung und Spezial-Verteidigung, aber dafür steigen Angriff, Spezial-Angriff und Initiative stark." }, "healPulse": { - name: "Heal Pulse", - effect: "The user emits a healing pulse that restores the target's HP by up to half of its max HP." + name: "Heilwoge", + effect: "Anwender löst eine Schmerzen lindernde Welle aus und heilt dabei das Ziel mit der Hälfte seiner maximalen KP." }, "hex": { - name: "Hex", - effect: "This relentless attack does massive damage to a target affected by status conditions." + name: "Bürde", + effect: "Eine Attacke, bei der der Anwender das Ziel bedrängt. Fügt Zielen mit Statusproblemen hohen Schaden zu." }, "skyDrop": { - name: "Sky Drop", - effect: "The user takes the target into the sky, then drops it during the next turn. The target cannot attack while in the sky." + name: "Freier Fall", + effect: "Steigt in Runde 1 mit dem Ziel in die Luft auf und lässt es in Runde 2 fallen. Das Ziel kann dabei nicht angreifen." }, "shiftGear": { - name: "Shift Gear", - effect: "The user rotates its gears, raising its Attack stat and sharply raising its Speed stat." + name: "Gangwechsel", + effect: "Durch Drehen der Zahnräder erhöht sich nicht nur der Angriffs-Wert, sondern auch die Initiative des Anwenders stark." }, "circleThrow": { - name: "Circle Throw", - effect: "The target is thrown, and a different Pokémon is dragged out. In the wild, this ends a battle against a single Pokémon." + name: "Überkopfwurf", + effect: "Schleudert das Ziel davon und bewirkt damit, dass ein anderes Pokémon eingewechselt wird. Beendet Kämpfe gegen wilde Pokémon." }, "incinerate": { - name: "Incinerate", - effect: "The user attacks opposing Pokémon with fire. If a Pokémon is holding a certain item, such as a Berry, the item becomes burned up and unusable." + name: "Einäschern", + effect: "Eine Feuer-Attacke. Trägt das Ziel eine Beere oder ein ähnliches Item bei sich, wird dieses von den Flammen verzehrt und geht verloren." }, "quash": { - name: "Quash", - effect: "The user suppresses the target and makes its move go last." + name: "Verzögerung", + effect: "Anwender stemmt sich gegen das Ziel und bewirkt, dass dieses erst als Letztes angreift." }, "acrobatics": { - name: "Acrobatics", - effect: "The user nimbly strikes the target. If the user is not holding an item, this attack inflicts massive damage." + name: "Akrobatik", + effect: "Ein graziler Angriff auf das Ziel. Trägt der Anwender kein Item bei sich, richtet die Attacke großen Schaden an." }, "reflectType": { - name: "Reflect Type", - effect: "The user reflects the target's type, making the user the same type as the target." + name: "Typenspiegel", + effect: "Anwender bildet das Ziel nach und nimmt dabei dessen Typ an." }, "retaliate": { - name: "Retaliate", - effect: "The user gets revenge for a fainted ally. If an ally fainted in the previous turn, this move's power is increased." + name: "Heimzahlung", + effect: "Anwender nimmt Rache für einen besiegten Mitstreiter. Wurde in der vorigen Runde ein Mitstreiter besiegt, steigt die Kraft." }, "finalGambit": { - name: "Final Gambit", - effect: "The user risks everything to attack its target. The user faints but does damage equal to its HP." + name: "Wagemut", + effect: "Ein Angriff, der dem Ziel Schaden in Höhe der aktuellen KP des Anwenders zufügt. Letzterer wird dadurch selbst besiegt." }, "bestow": { - name: "Bestow", - effect: "The user passes its held item to the target when the target isn't holding an item." + name: "Offerte", + effect: "Trägt das Ziel gerade kein Item bei sich, erhält es das Item, das sich aktuell im Besitz des Anwenders befindet." }, "inferno": { name: "Inferno", - effect: "The user attacks by engulfing the target in an intense fire. This leaves the target with a burn." + effect: "Anwender greift das Ziel an, indem er es mit dichten Flammen umhüllt. Ziel erleidet Verbrennungen." }, "waterPledge": { - name: "Water Pledge", - effect: "A column of water hits the target. When used with its fire equivalent, its power increases and a rainbow appears." + name: "Wassersäulen", + effect: "Ein Angriff mit Wassersäulen. Mit Feuersäulen kombiniert steigt die Wirkung und ein Regenbogen erscheint." }, "firePledge": { - name: "Fire Pledge", - effect: "A column of fire hits the target. When used with its grass equivalent, its power increases and a vast sea of fire appears." + name: "Feuersäulen", + effect: "Ein Angriff mit Feuersäulen. Mit Pflanzsäulen kombiniert steigt die Wirkung und die Umgebung wird zu einem Meer aus Feuer." }, "grassPledge": { - name: "Grass Pledge", - effect: "A column of grass hits the target. When used with its water equivalent, its power increases and a vast swamp appears." + name: "Pflanzensäulen", + effect: "Ein Angriff mit Pflanzsäulen. Mit Wassersäulen kombiniert steigt die Wirkung und die Umgebung wird zu einem Sumpf." }, "voltSwitch": { - name: "Volt Switch", - effect: "After making its attack, the user rushes back to switch places with a party Pokémon in waiting." + name: "Voltwechsel", + effect: "Anwender kehrt nach dem Angriff mit atemberaubender Geschwindigkeit zurück und tauscht Platz mit einem anderen Pokémon." }, "struggleBug": { - name: "Struggle Bug", - effect: "While resisting, the user attacks opposing Pokémon. This lowers the Sp. Atk stats of those hit." + name: "Käfertrutz", + effect: "Anwender leistet Widerstand und greift an. Der Spezial-Angriff der Ziele sinkt." }, "bulldoze": { - name: "Bulldoze", - effect: "The user strikes everything around it by stomping down on the ground. This lowers the Speed stats of those hit." + name: "Dampfwalze", + effect: "Anwender greift an, indem er den Boden um sich herum plattwalzt. Die Initiative aller betroffenen Pokémon sinkt." }, "frostBreath": { - name: "Frost Breath", - effect: "The user blows its cold breath on the target. This attack always results in a critical hit." + name: "Eisesodem", + effect: "Anwender greift an, indem er dem Ziel eisigen Atem entgegenhaucht. Volltreffergarantie." }, "dragonTail": { - name: "Dragon Tail", - effect: "The target is knocked away, and a different Pokémon is dragged out. In the wild, this ends a battle against a single Pokémon." + name: "Drachenrute", + effect: "Putzt das Ziel vom Feld und wechselt es mit einem anderen Pokémon aus. Beendet Kämpfe gegen wilde Pokémon." }, "workUp": { - name: "Work Up", - effect: "The user is roused, and its Attack and Sp. Atk stats increase." + name: "Kraftschub", + effect: "Anwender erhält einen Kraftschub, der seinen Angriff und Spezial-Angriff erhöht." }, "electroweb": { - name: "Electroweb", - effect: "The user attacks and captures opposing Pokémon using an electric net. This lowers their Speed stats." + name: "Elektronetz", + effect: "Fängt Ziele mit einem elektrischen Netz und senkt deren Initiative." }, "wildCharge": { - name: "Wild Charge", - effect: "The user shrouds itself in electricity and smashes into its target. This also damages the user a little." + name: "Stromstoß", + effect: "Anwender erzeugt Spannung und greift an, indem er auf Kollisionskurs geht. Er selbst erleidet dabei ebenfalls leichten Schaden." }, "drillRun": { - name: "Drill Run", - effect: "The user crashes into its target while rotating its body like a drill. Critical hits land more easily." + name: "Schlagbohrer", + effect: "Anwender rammt das Ziel, während er seinen Körper wie einen Bohrer dreht. Hohe Volltrefferquote." }, "dualChop": { - name: "Dual Chop", - effect: "The user attacks its target by hitting it with brutal strikes. The target is hit twice in a row." + name: "Doppelhieb", + effect: "Versetzt dem Ziel mit massiven Extremitäten Hiebe. Angriff erfolgt zweimal hintereinander." }, "heartStamp": { - name: "Heart Stamp", - effect: "The user unleashes a vicious blow after its cute act makes the target less wary. This may also make the target flinch." + name: "Herzstempel", + effect: "Verleitet Ziel durch Kokettieren zu Unachtsamkeit und verpasst ihm dann einen harten Schlag. Ziel schreckt eventuell zurück." }, "hornLeech": { - name: "Horn Leech", - effect: "The user drains the target's energy with its horns. The user's HP is restored by half the damage taken by the target." + name: "Holzgeweih", + effect: "Greift Ziel mit Astgeweih an und zapft diesem Nährstoffe ab. Anwender wird um die Hälfte des zugefügten Schadens geheilt." }, "sacredSword": { - name: "Sacred Sword", - effect: "The user attacks by slicing with a long horn. The target's stat changes don't affect this attack's damage." + name: "Sanctoklinge", + effect: "Schneideangriff mit langem Horn. Richtet Schaden unabhängig von Statusveränderungen des Zieles an." }, "razorShell": { - name: "Razor Shell", - effect: "The user cuts its target with sharp shells. This may also lower the target's Defense stat." + name: "Kalkklinge", + effect: "Schneideangriff mit einer scharfen Muschelschale. Senkt eventuell die Verteidigung des Zieles." }, "heatCrash": { - name: "Heat Crash", - effect: "The user slams its target with its flame-covered body. The more the user outweighs the target, the greater the move's power." + name: "Brandstempel", + effect: "Rempelattacke mit brennendem Körper. Je schwerer der Anwender im Vergleich zum Ziel ist, desto stärker die Attacke." }, "leafTornado": { - name: "Leaf Tornado", - effect: "The user attacks its target by encircling it in sharp leaves. This attack may also lower the target's accuracy." + name: "Grasmixer", + effect: "Anwender greift an, indem er das Ziel in scharfes Blattwerk einwickelt. Kann die Genauigkeit senken." }, "steamroller": { - name: "Steamroller", - effect: "The user crushes its target by rolling over the target with its rolled-up body. This may also make the target flinch." + name: "Quetschwalze", + effect: "Anwender rollt mit rundlichem Körper über das Ziel und drückt es platt. Ziel schreckt eventuell zurück." }, "cottonGuard": { - name: "Cotton Guard", - effect: "The user protects itself by wrapping its body in soft cotton, which drastically raises the user's Defense stat." + name: "Watteschild", + effect: "Anwender schützt sich, indem er sich in einen luftigen Flaum hüllt. Erhöht die Verteidigung drastisch." }, "nightDaze": { - name: "Night Daze", - effect: "The user lets loose a pitch-black shock wave at its target. This may also lower the target's accuracy." + name: "Nachtflut", + effect: "Anwender greift Ziel mit finsteren Schockwellen an. Senkt eventuell die Genauigkeit." }, "psystrike": { - name: "Psystrike", - effect: "The user materializes an odd psychic wave to attack the target. This attack does physical damage." + name: "Psychostoß", + effect: "Anwender erzeugt seltsame Energiewellen, die dem Ziel physischen Schaden zufügen." }, "tailSlap": { - name: "Tail Slap", - effect: "The user attacks by striking the target with its hard tail. It hits the target two to five times in a row." + name: "Kehrschelle", + effect: "Anwender greift das Ziel mit seiner schlagfesten Rute zwei- bis fünfmal hintereinander an." }, "hurricane": { - name: "Hurricane", - effect: "The user attacks by wrapping its opponent in a fierce wind that flies up into the sky. This may also confuse the target." + name: "Orkan", + effect: "Anwender greift das Ziel an, indem er es mit heftigen Windböen umgibt. Ziel wird eventuell verwirrt." }, "headCharge": { - name: "Head Charge", - effect: "The user charges its head into its target, using its powerful guard hair. This also damages the user a little." + name: "Steinschädel", + effect: "Rempelattacke mit ausgeflippter Retrofrisur. Anwender nimmt selbst leichten Schaden." }, "gearGrind": { - name: "Gear Grind", - effect: "The user attacks by throwing steel gears at its target twice." + name: "Klikkdiskus", + effect: "Anwender greift an, indem er stählerne Zahnräder auf das Ziel schleudert. Angriff erfolgt zweimal hintereinander." }, "searingShot": { - name: "Searing Shot", - effect: "The user torches everything around it in an inferno of scarlet flames. This may also leave those it hits with a burn." + name: "Flammenball", + effect: "Greift alles in seiner Umgebung mit tiefroten Flammen an. Ziel kann Verbrennungen erleiden." }, "technoBlast": { - name: "Techno Blast", - effect: "The user fires a beam of light at its target. The move's type changes depending on the Drive the user holds." + name: "Techblaster", + effect: "Anwender feuert ein Lichtgeschoss auf das Ziel ab. Der Typ der Attacke hängt von dem des Moduls ab." }, "relicSong": { - name: "Relic Song", - effect: "The user sings an ancient song and attacks by appealing to the hearts of the listening opposing Pokémon. This may also induce sleep." + name: "Urgesang", + effect: "Anwender greift mit Urgesang an, der Ziele in der Nähe im tiefsten Inneren anspricht. Diese schlafen eventuell ein." }, "secretSword": { - name: "Secret Sword", - effect: "The user cuts with its long horn. The odd power contained in the horn does physical damage to the target." + name: "Mystoschwert", + effect: "Schneideangriff mit dem langen Schwert des Anwenders. Die mysteriöse Kraft aus dem Horn erzeugt physischen Schaden." }, "glaciate": { - name: "Glaciate", - effect: "The user attacks by blowing freezing cold air at opposing Pokémon. This lowers their Speed stats." + name: "Eiszeit", + effect: "Anwender greift an, indem er dem Ziel klirrend kalte Luft entgegenbläst. Senkt die Initiative des Zieles." }, "boltStrike": { - name: "Bolt Strike", - effect: "The user surrounds itself with a great amount of electricity and charges its target. This may also leave the target with paralysis." + name: "Blitzschlag", + effect: "Lädt seinen Körper mit einer gewaltigen Menge an Elektrizität auf und rammt damit das Ziel. Ziel wird eventuell paralysiert." }, "blueFlare": { - name: "Blue Flare", - effect: "The user attacks by engulfing the target in an intense, yet beautiful, blue flame. This may also leave the target with a burn." + name: "Blauflammen", + effect: "Anwender greift an, indem er das Ziel in wunderschöne, intensivblaue Flammen hüllt, die es eventuell verbrennen." }, "fieryDance": { - name: "Fiery Dance", - effect: "Cloaked in flames, the user attacks the target by dancing and flapping its wings. This may also raise the user's Sp. Atk stat." + name: "Feuerreigen", + effect: "Hüllt das Ziel mit einer Feuerhose in Flammen. Kann den Spezial-Angriff des Anwenders erhöhen." }, "freezeShock": { - name: "Freeze Shock", - effect: "On the second turn, the user hits the target with electrically charged ice. This may also leave the target with paralysis." + name: "Frostvolt", + effect: "Feuert in der zweiten Runde elektrisch geladene Eisklumpen auf das Ziel ab. Paralysiert das Ziel eventuell." }, "iceBurn": { - name: "Ice Burn", - effect: "On the second turn, an ultracold, freezing wind surrounds the target. This may leave the target with a burn." + name: "Frosthauch", + effect: "Umgibt das Ziel in der nächsten Runde mit heftigen, alles gefrierenden Eisböen. Fügt dem Ziel eventuell Verbrennungen zu." }, "snarl": { - name: "Snarl", - effect: "The user yells as if it's ranting about something, which lowers the Sp. Atk stats of opposing Pokémon." + name: "Standpauke", + effect: "Wäscht Zielen in der Nähe mit einer ausführlichen Standpauke den Kopf und senkt dabei deren Spezial-Angriff." }, "icicleCrash": { - name: "Icicle Crash", - effect: "The user attacks by harshly dropping large icicles onto the target. This may also make the target flinch." + name: "Eiszapfhagel", + effect: "Lässt große, schwere Eiszapfen auf das Ziel herabregnen. Ziel schreckt eventuell zurück." }, "vCreate": { - name: "V-create", - effect: "With a hot flame on its forehead, the user hurls itself at its target. This lowers the user's Defense, Sp. Def, and Speed stats." + name: "V-Generator", + effect: "Eine Verzweiflungsattacke. Anwender entfacht glühend heißes Feuer. Senkt dessen Verteidigung, Spezial-Verteidigung und Initiative." }, "fusionFlare": { - name: "Fusion Flare", - effect: "The user brings down a giant flame. This move's power is increased when influenced by an enormous lightning bolt." + name: "Kreuzflamme", + effect: "Feuert eine monströse Flamme ab. Wird die Attacke durch einen gigantischen Blitz modifiziert, steigt die Stärke." }, "fusionBolt": { - name: "Fusion Bolt", - effect: "The user throws down a giant lightning bolt. This move's power is increased when influenced by an enormous flame." + name: "Kreuzdonner", + effect: "Feuert einen monströsen Blitz ab. Wird die Attacke durch eine gigantische Flamme modifiziert, steigt die Stärke." }, "flyingPress": { name: "Flying Press", - effect: "The user dives down onto the target from the sky. This move is Fighting and Flying type simultaneously." + effect: "Der Anwender stürzt sich aus der Luft auf das Ziel. Die Attacke gehört sowohl dem Typ Kampf als auch dem Typ Flug an." }, "matBlock": { - name: "Mat Block", - effect: "Using a pulled-up mat as a shield, the user protects itself and its allies from damaging moves. This does not stop status moves." + name: "Tatami-Schild", + effect: "Der Anwender richtet eine Tatami-Matte auf, um sich und sein Team vor Schaden zu schützen. Kein Schutz vor Status-Attacken." }, "belch": { - name: "Belch", - effect: "The user lets out a damaging belch at the target. The user must eat a held Berry to use this move." + name: "Rülpser", + effect: "Der Anwender fügt dem Ziel Schaden zu, indem er es anrülpst. Diese Attacke gelingt nur nach dem Konsum einer getragenen Beere." }, "rototiller": { - name: "Rototiller", - effect: "Tilling the soil, the user makes it easier for plants to grow. This raises the Attack and Sp. Atk stats of Grass-type Pokémon." + name: "Pflüger", + effect: "Der Anwender pflügt den Boden und macht die Erde fruchtbarer. Erhöht den Angriff und den Spezial-Angriff von Pflanzen-Pokémon." }, "stickyWeb": { - name: "Sticky Web", - effect: "The user weaves a sticky net around the opposing team, which lowers their Speed stats upon switching into battle." + name: "Klebenetz", + effect: "Der Anwender spinnt in der Umgebung des gegnerischen Teams ein klebriges Netz und senkt so die Initiative neu eingewechselter Pokémon." }, "fellStinger": { - name: "Fell Stinger", - effect: "When the user knocks out a target with this move, the user's Attack stat rises drastically." + name: "Stachelfinale", + effect: "Gelingt es dem Anwender, das Ziel mit dieser Attacke zu besiegen, steigt sein Angriffs-Wert stark." }, "phantomForce": { - name: "Phantom Force", - effect: "The user vanishes somewhere, then strikes the target on the next turn. This move hits even if the target protects itself." + name: "Phantomkraft", + effect: "Der Anwender verschwindet, um eine Runde lang seine Kraft zu sammeln und in der nächsten Runde anzugreifen. Durchbricht die Defensive des Zieles." }, "trickOrTreat": { - name: "Trick-or-Treat", - effect: "The user takes the target trick-or-treating. This adds Ghost type to the target's type." + name: "Halloween", + effect: "Der Anwender lehrt das Ziel das Fürchten. Dieses nimmt dadurch zusätzlich den Typ Geist an." }, "nobleRoar": { - name: "Noble Roar", - effect: "Letting out a noble roar, the user intimidates the target and lowers its Attack and Sp. Atk stats." + name: "Kampfgebrüll", + effect: "Der Anwender stößt ein Kampfgebrüll aus, das das Ziel einschüchtert und zugleich seinen Angriffs- und Spezial-Angriffs-Wert senkt." }, "ionDeluge": { - name: "Ion Deluge", - effect: "The user disperses electrically charged particles, which changes Normal-type moves to Electric-type moves." + name: "Plasmaschauer", + effect: "Versprüht elektrisch geladene Partikel und bewirkt, dass Normal-Attacken den Typ Elektro annehmen." }, "parabolicCharge": { - name: "Parabolic Charge", - effect: "The user attacks everything around it. The user's HP is restored by half the damage taken by those hit." + name: "Parabolladung", + effect: "Fügt allen Pokémon in der Umgebung Schaden zu. Der Anwender wird um die Hälfte des insgesamt angerichteten Schadens geheilt." }, "forestsCurse": { - name: "Forest's Curse", - effect: "The user puts a forest curse on the target. The target is now Grass type as well." + name: "Waldesfluch", + effect: "Der Anwender belegt das Ziel mit einem Waldesfluch, durch den dieses zusätzlich den Typ Pflanze annimmt." }, "petalBlizzard": { - name: "Petal Blizzard", - effect: "The user stirs up a violent petal blizzard and attacks everything around it." + name: "Blütenwirbel", + effect: "Der Anwender erzeugt einen turbulenten Blütenwirbel, der alle Pokémon in der Nähe erfasst und ihnen Schaden zufügt." }, "freezeDry": { - name: "Freeze-Dry", - effect: "The user rapidly cools the target. This may also leave the target frozen. This move is super effective on Water types." + name: "Gefriertrockner", + effect: "Das Ziel wird stark abgekühlt und manchmal sogar eingefroren. Die Attacke ist sehr effektiv gegen Wasser-Pokémon." }, "disarmingVoice": { - name: "Disarming Voice", - effect: "Letting out a charming cry, the user does emotional damage to opposing Pokémon. This attack never misses." + name: "Säuselstimme", + effect: "Der Anwender stößt einen bezirzenden Ruf aus, mit dem er das Ziel in seinen Bann schlägt und ihm immer mentalen Schaden zufügt." }, "partingShot": { - name: "Parting Shot", - effect: "With a parting threat, the user lowers the target's Attack and Sp. Atk stats. Then it switches with a party Pokémon." + name: "Abgangstirade", + effect: "Schüchtert das Ziel mit einer Abgangstirade ein, sodass dessen Angriffs- und Spezial-Angriffs-Wert sinken. Danach wird der Anwender ausgewechselt." }, "topsyTurvy": { - name: "Topsy-Turvy", - effect: "All stat changes affecting the target turn topsy-turvy and become the opposite of what they were." + name: "Invertigo", + effect: "Invertiert alle Statusveränderungen des Zieles." }, "drainingKiss": { - name: "Draining Kiss", - effect: "The user steals the target's HP with a kiss. The user's HP is restored by over half of the damage taken by the target." + name: "Diebeskuss", + effect: "Der Anwender stiehlt dem Ziel mit einem Kuss KP. Die Höhe der Heilung beträgt mehr als die Hälfte des beim Ziel angerichteten Schadens." }, "craftyShield": { - name: "Crafty Shield", - effect: "The user protects itself and its allies from status moves with a mysterious power. This does not stop moves that do damage." + name: "Trickschutz", + effect: "Schützt sich und Mitstreiter mit einer mysteriösen Macht vor Status-Attacken. Es werden jedoch weiterhin KP-Schäden erlitten." }, "flowerShield": { - name: "Flower Shield", - effect: "The user raises the Defense stats of all Grass-type Pokémon in battle with a mysterious power." + name: "Floraschutz", + effect: "Erhöht mit einer mysteriösen Macht die Verteidigung aller am Kampf beteiligten Pflanzen-Pokémon." }, "grassyTerrain": { - name: "Grassy Terrain", - effect: "The user turns the ground to grass for five turns. This restores the HP of Pokémon on the ground a little every turn and powers up Grass-type moves." + name: "Grasfeld", + effect: "Verwandelt den Untergrund fünf Runden lang in ein Grasfeld und heilt in jeder neuen Runde alle Pokémon, die den Boden berühren." }, "mistyTerrain": { - name: "Misty Terrain", - effect: "This protects Pokémon on the ground from status conditions and halves damage from Dragon-type moves for five turns." + name: "Nebelfeld", + effect: "Verwandelt den Untergrund fünf Runden lang in ein Nebelfeld und schützt alle Pokémon, die den Boden berühren, vor Statusproblemen." }, "electrify": { - name: "Electrify", - effect: "If the target is electrified before it uses a move during that turn, the target's move becomes Electric type." + name: "Elektrifizierung", + effect: "Kommt die Attacke zum Einsatz, bevor das Ziel seine Attacke ausführt, nimmt diese für die Dauer dieser Runde den Typ Elektro an." }, "playRough": { - name: "Play Rough", - effect: "The user plays rough with the target and attacks it. This may also lower the target's Attack stat." + name: "Knuddler", + effect: "Der Anwender knuddelt das Ziel und greift es an. Gelegentlich sinkt dabei auch dessen Angriffs-Wert." }, "fairyWind": { - name: "Fairy Wind", - effect: "The user stirs up a fairy wind and strikes the target with it." + name: "Feenbrise", + effect: "Lässt eine Feenbrise aufkommen, die das Ziel erfasst und ihm Schaden zufügt." }, "moonblast": { - name: "Moonblast", - effect: "Borrowing the power of the moon, the user attacks the target. This may also lower the target's Sp. Atk stat." + name: "Mondgewalt", + effect: "Der Anwender macht sich die Kraft des Mondes zunutze, um anzugreifen. Gelegentlich wird dabei der Spezial-Angriff des Zieles gesenkt." }, "boomburst": { - name: "Boomburst", - effect: "The user attacks everything around it with the destructive power of a terrible, explosive sound." + name: "Überschallknall", + effect: "Der Anwender greift alle Pokémon in der Umgebung mit einem gewaltigen Knall an." }, "fairyLock": { - name: "Fairy Lock", - effect: "By locking down the battlefield, the user keeps all Pokémon from fleeing during the next turn." + name: "Feenschloss", + effect: "Der Anwender sperrt alle Pokémon ein und hindert sie damit in der nächsten Runde an der Flucht." }, "kingsShield": { - name: "King's Shield", - effect: "The user takes a defensive stance while it protects itself from damage. It also lowers the Attack stat of any attacker that makes direct contact." + name: "Königsschild", + effect: "Der Anwender weicht dem gegnerischen Angriff aus und geht in die Defensive. Berührt ihn nun ein Pokémon, sinkt der Angriffs-Wert dieses Gegners." }, "playNice": { - name: "Play Nice", - effect: "The user and the target become friends, and the target loses its will to fight. This lowers the target's Attack stat." + name: "Kameradschaft", + effect: "Der Anwender schließt mit dem Ziel Freundschaft und nimmt ihm seine Angriffslust. Der Angriffs-Wert des Zieles sinkt." }, "confide": { - name: "Confide", - effect: "The user tells the target a secret, and the target loses its ability to concentrate. This lowers the target's Sp. Atk stat." + name: "Vertrauenssache", + effect: "Der Anwender vertraut dem Ziel ein Geheimnis an und stört auf diese Weise seine Konzentration. Der Spezial-Angriff des Zieles sinkt." }, "diamondStorm": { - name: "Diamond Storm", - effect: "The user whips up a storm of diamonds to damage opposing Pokémon. This may also sharply raise the user's Defense stat." + name: "Diamantsturm", + effect: "Der Anwender beschwört einen zerstörerischen Diamantsturm herauf. Kann die Verteidigung des Anwenders erhöhen." }, "steamEruption": { - name: "Steam Eruption", - effect: "The user immerses the target in superheated steam. This may also leave the target with a burn." + name: "Dampfschwall", + effect: "Der Anwender feuert einen siedend heißen Dampfschwall auf das Ziel ab. Dieses kann dabei Verbrennungen erleiden." }, "hyperspaceHole": { - name: "Hyperspace Hole", - effect: "Using a hyperspace hole, the user appears right next to the target and strikes. This also hits a target using a move such as Protect or Detect." + name: "Dimensionsloch", + effect: "Der Anwender positioniert sich mithilfe eines Dimensionslochs direkt neben dem Ziel und durchbricht selbst Schutzschild und Scanner." }, "waterShuriken": { - name: "Water Shuriken", - effect: "The user hits the target with throwing stars two to five times in a row. This move always goes first." + name: "Wasser-Shuriken", + effect: "Der Anwender schleudert dem Ziel Wurfsterne aus einem verdickten Sekret entgegen. Eine Serien-Attacke, die zwei- bis fünfmal trifft." }, "mysticalFire": { - name: "Mystical Fire", - effect: "The user attacks by breathing a special, hot fire. This also lowers the target's Sp. Atk stat." + name: "Magieflamme", + effect: "Der Anwender greift das Ziel an, indem er ihm eine besondere, heiße Flamme entgegenbläst. Der Spezial-Angriff des Zieles sinkt." }, "spikyShield": { - name: "Spiky Shield", - effect: "In addition to protecting the user from attacks, this move also damages any attacker that makes direct contact." + name: "Schutzstacheln", + effect: "Der Anwender weicht gegnerischen Angriffen aus. Gleichzeitig nehmen alle Pokémon, die mit ihm in Berührung kommen, Schaden." }, "aromaticMist": { - name: "Aromatic Mist", - effect: "The user raises the Sp. Def stat of an ally Pokémon by using a mysterious aroma." + name: "Duftwolke", + effect: "Der Anwender erhöht mithilfe eines mysteriösen Duftes die Spezial-Verteidigung eines Mitstreiters." }, "eerieImpulse": { - name: "Eerie Impulse", - effect: "The user's body generates an eerie impulse. Exposing the target to it harshly lowers the target's Sp. Atk stat." + name: "Mystowellen", + effect: "Der Körper des Anwenders erzeugt mysteriöse Wellen und senkt den Spezial-Angriff des Zieles dadurch stark." }, "venomDrench": { - name: "Venom Drench", - effect: "Opposing Pokémon are drenched in an odd poisonous liquid. This lowers the Attack, Sp. Atk, and Speed stats of a poisoned target." + name: "Giftfalle", + effect: "Anwender bespritzt das Ziel mit einer speziellen Giftflüssigkeit. Senkt den Angriff, den Spezial- Angriff und die Initiative von vergifteten Zielen." }, "powder": { - name: "Powder", - effect: "The user covers the target in a combustible powder. If the target uses a Fire-type move, the powder explodes and damages the target." + name: "Pulverschleuder", + effect: "Setzt das Ziel nach Einsatz von Pulverschleuder in derselben Runde eine Feuer-Attacke ein, kommt es zu einer Explosion, die ihm schadet." }, "geomancy": { - name: "Geomancy", - effect: "The user absorbs energy and sharply raises its Sp. Atk, Sp. Def, and Speed stats on the next turn." + name: "Geokontrolle", + effect: "Der Anwender saugt in Runde 1 Energie auf. In Runde 2 steigen folgende Statuswerte stark: Spezial-Angriff, Spezial-Verteidigung und Initiative." }, "magneticFlux": { - name: "Magnetic Flux", - effect: "The user manipulates magnetic fields, which raises the Defense and Sp. Def stats of ally Pokémon with the Plus or Minus Ability." + name: "Magnetregler", + effect: "Das Magnetfeld wird so manipuliert, dass Spezial- Verteidigung und Verteidigung von Team-Pokémon mit der Fähigkeit Plus oder Minus steigen." }, "happyHour": { - name: "Happy Hour", - effect: "Using Happy Hour doubles the amount of prize money received after battle." + name: "Goldene Zeiten", + effect: "Nach Einsatz der Attacke Goldene Zeiten verdoppelt sich das Preisgeld, das du im Falle eines Sieges erhältst." }, "electricTerrain": { - name: "Electric Terrain", - effect: "The user electrifies the ground for five turns, powering up Electric-type moves. Pokémon on the ground no longer fall asleep." + name: "Elektrofeld", + effect: "Verwandelt den Untergrund fünf Runden lang in ein Elektrofeld und hindert alle Pokémon, die den Boden berühren, am Einschlafen." }, "dazzlingGleam": { - name: "Dazzling Gleam", - effect: "The user damages opposing Pokémon by emitting a powerful flash." + name: "Zauberschein", + effect: "Der Anwender feuert einen mächtigen Lichtblitz ab, der dem Ziel Schaden zufügt." }, "celebrate": { - name: "Celebrate", - effect: "The Pokémon congratulates you on your special day!" + name: "Ehrentag", + effect: "Das Pokémon gratuliert dir zu deinem Geburtstag!" }, "holdHands": { - name: "Hold Hands", - effect: "The user and an ally hold hands. This makes them very happy." + name: "Händchenhalten", + effect: "Der Anwender und ein Mitstreiter reichen einander die Hände und verfallen in einen Zustand tiefster Zufriedenheit." }, "babyDollEyes": { - name: "Baby-Doll Eyes", - effect: "The user stares at the target with its baby-doll eyes, which lowers the target's Attack stat. This move always goes first." + name: "Kulleraugen", + effect: "Der Anwender erobert das Herz des Zieles, indem er es mit Kulleraugen ansieht. Senkt den Angriffs-Wert. Erstschlaggarantie." }, "nuzzle": { - name: "Nuzzle", - effect: "The user attacks by nuzzling its electrified cheeks against the target. This also leaves the target with paralysis." + name: "Wangenrubbler", + effect: "Der Anwender lädt seine Wangen elektrisch auf und greift an, indem er sich damit am Ziel reibt. Das Ziel wird paralysiert." }, "holdBack": { - name: "Hold Back", - effect: "The user holds back when it attacks, and the target is left with at least 1 HP." + name: "Zurückhaltung", + effect: "Der Anwender hält sich beim Angriff zurück und sorgt auf diese Weise dafür, dass dem Ziel danach mindestens 1 KP verbleibt." }, "infestation": { - name: "Infestation", - effect: "The target is infested and attacked for four to five turns. The target can't flee during this time." + name: "Plage", + effect: "Der Anwender fällt vier bis fünf Runden lang wie eine Plage über das Ziel her und greift es an. In diesem Zeitraum kann es nicht fliehen." }, "powerUpPunch": { - name: "Power-Up Punch", - effect: "Striking opponents over and over makes the user's fists harder. Hitting a target raises the Attack stat." + name: "Steigerungshieb", + effect: "Die Fäuste des Anwenders härten durch wiederholtes Zuschlagen ab. Mit jedem Treffer steigt sein Angriffs-Wert." }, "oblivionWing": { - name: "Oblivion Wing", - effect: "The user absorbs its target's HP. The user's HP is restored by over half of the damage taken by the target." + name: "Unheilsschwingen", + effect: "Der Anwender raubt dem Ziel KP. Die Höhe der Heilung beträgt mehr als die Hälfte des beim Ziel angerichteten Schadens." }, "thousandArrows": { - name: "Thousand Arrows", - effect: "This move also hits opposing Pokémon that are in the air. Those Pokémon are knocked down to the ground." + name: "Tausend Pfeile", + effect: "Die Attacke erfasst auch schwebende Pokémon. Erfasst sie ein Pokémon im Schwebe-Zustand, fällt es zu Boden." }, "thousandWaves": { - name: "Thousand Waves", - effect: "The user attacks with a wave that crawls along the ground. Those it hits can't flee from battle." + name: "Tausend Wellen", + effect: "Der Anwender greift mit einer Welle an, die dicht über dem Boden verläuft und alle Pokémon, die sie erfasst, an der Flucht hindert." }, "landsWrath": { - name: "Land's Wrath", - effect: "The user gathers the energy of the land and focuses that power on opposing Pokémon to damage them." + name: "Bodengewalt", + effect: "Der Anwender sammelt die Kraft des weiten Landes und greift an, indem er sie gebündelt auf das Ziel lenkt." }, "lightOfRuin": { - name: "Light of Ruin", - effect: "Drawing power from the Eternal Flower, the user fires a powerful beam of light. This also damages the user quite a lot." + name: "Lux Calamitatis", + effect: "Die Attacke basiert auf der Kraft des Ewigblütlers, die als mächtiger Lichtstrahl abgefeuert wird. Der Anwender nimmt dabei selbst großen Schaden." }, "originPulse": { - name: "Origin Pulse", - effect: "The user attacks opposing Pokémon with countless beams of light that glow a deep and brilliant blue." + name: "Ursprungswoge", + effect: "Der Anwender greift das Ziel mit unzähligen blau leuchtenden Strahlen an." }, "precipiceBlades": { - name: "Precipice Blades", - effect: "The user attacks opposing Pokémon by manifesting the power of the land in fearsome blades of stone." + name: "Abgrundsklinge", + effect: "Der Anwender wandelt die Kraft des Erdreichs in Klingen um, mit denen er das Ziel angreift." }, "dragonAscent": { - name: "Dragon Ascent", - effect: "After soaring upward, the user attacks its target by dropping out of the sky at high speeds. But it lowers its own Defense and Sp. Def stats in the process." + name: "Zenitstürmer", + effect: "Der Anwender greift das Ziel aus atemberaubender Höhe im Sturzflug an. Senkt Verteidigung und Spezial-Verteidigung des Anwenders." }, "hyperspaceFury": { - name: "Hyperspace Fury", - effect: "Using its many arms, the user unleashes a barrage of attacks that ignore the effects of moves like Protect and Detect. But the user's Defense stat falls." + name: "Dimensionswahn", + effect: "Eine Angriffsserie mit vielen Armen, die die Wirkung von Schutzschild und Scanner durchbricht. Dabei sinkt die Verteidigung des Anwenders." }, "breakneckBlitzPhysical": { - name: "Breakneck Blitz", - effect: "The user builds up its momentum using its Z-Power and crashes into the target at full speed. The power varies, depending on the original move." + name: "Hyper-Sprintangriff", + effect: "Der durch Z-Kraft energiegeladene Anwender rennt mit ganzer Kraft gegen das Ziel. Die Stärke variiert je nach zugrunde liegender Attacke." }, "breakneckBlitzSpecial": { name: "Breakneck Blitz", effect: "Dummy Data" }, "allOutPummelingPhysical": { - name: "All-Out Pummeling", - effect: "The user rams an energy orb created by its Z-Power into the target with full force. The power varies, depending on the original move." + name: "Fulminante Faustschläge", + effect: "Aus Z-Kraft hergestellte Energiebälle prallen mit voller Wucht auf das Ziel. Die Stärke variiert je nach zugrunde liegender Attacke." }, "allOutPummelingSpecial": { name: "All-Out Pummeling", effect: "Dummy Data" }, "supersonicSkystrikePhysical": { - name: "Supersonic Skystrike", - effect: "The user soars up with its Z-Power and plummets toward the target at full speed. The power varies, depending on the original move." + name: "Finaler Steilflug", + effect: "Der Anwender schwingt sich durch Z-Kraft in die Lüfte und stürzt sich dann auf das Ziel hinab. Die Stärke variiert je nach zugrunde liegender Attacke." }, "supersonicSkystrikeSpecial": { name: "Supersonic Skystrike", effect: "Dummy Data" }, "acidDownpourPhysical": { - name: "Acid Downpour", - effect: "The user creates a poisonous swamp using its Z-Power and sinks the target into it at full force. The power varies, depending on the original move." + name: "Vernichtender Säureregen", + effect: "Der Anwender kreiert mit Z-Kraft ein giftiges Moor, in dem das Ziel versinkt. Die Stärke variiert je nach zugrunde liegender Attacke." }, "acidDownpourSpecial": { name: "Acid Downpour", effect: "Dummy Data" }, "tectonicRagePhysical": { - name: "Tectonic Rage", - effect: "The user burrows deep into the ground and slams into the target with the full force of its Z-Power. The power varies, depending on the original move." + name: "Seismische Eruption", + effect: "Der Anwender zerrt das Ziel mit Z-Kraft tief in den Boden und kollidiert dort mit ihm. Die Stärke variiert je nach zugrunde liegender Attacke." }, "tectonicRageSpecial": { name: "Tectonic Rage", effect: "Dummy Data" }, "continentalCrushPhysical": { - name: "Continental Crush", - effect: "The user summons a huge rock mountain using its Z-Power and drops it onto the target with full force. The power varies, depending on the original move." + name: "Apokalyptische Steinpresse", + effect: "Der Anwender beschwört mit Z-Kraft einen großen Felsen herbei und lässt ihn auf das Ziel fallen. Die Stärke variiert je nach zugrunde liegender Attacke." }, "continentalCrushSpecial": { name: "Continental Crush", effect: "Dummy Data" }, "savageSpinOutPhysical": { - name: "Savage Spin-Out", - effect: "The user binds the target with full force with threads of silk that the user spits using its Z-Power. The power varies, depending on the original move." + name: "Wirbelnder Insektenhieb", + effect: "Mithilfe von Z-Kraft umwickelt der Anwender das Ziel mit Fäden. Die Stärke variiert je nach zugrunde liegender Attacke." }, "savageSpinOutSpecial": { name: "Savage Spin-Out", effect: "Dummy Data" }, "neverEndingNightmarePhysical": { - name: "Never-Ending Nightmare", - effect: "Deep-seated grudges summoned by the user's Z-Power trap the target. The power varies, depending on the original move." + name: "Ewige Nacht", + effect: "Der Anwender beschwört mit Z-Kraft tiefen Groll herbei und lässt diesen auf das Ziel los. Die Stärke variiert je nach zugrunde liegender Attacke." }, "neverEndingNightmareSpecial": { name: "Never-Ending Nightmare", effect: "Dummy Data" }, "corkscrewCrashPhysical": { - name: "Corkscrew Crash", - effect: "The user spins very fast and rams into the target with the full force of its Z-Power. The power varies, depending on the original move." + name: "Turbo-Spiralkombo", + effect: "Der Anwender wirbelt durch Z-Kraft sehr schnell umher und prallt mit dem Ziel zusammen. Die Stärke variiert je nach zugrunde liegender Attacke." }, "corkscrewCrashSpecial": { name: "Corkscrew Crash", effect: "Dummy Data" }, "infernoOverdrivePhysical": { - name: "Inferno Overdrive", - effect: "The user breathes a stream of intense fire toward the target with the full force of its Z-Power. The power varies depending on the original move." + name: "Dynamische Maxiflamme", + effect: "Der Anwender speit dank Z-Kraft eine gewaltige Kugel aus Flammen auf das Ziel. Die Stärke variiert je nach zugrunde liegender Attacke." }, "infernoOverdriveSpecial": { name: "Inferno Overdrive", effect: "Dummy Data" }, "hydroVortexPhysical": { - name: "Hydro Vortex", - effect: "The user creates a huge whirling current using its Z-Power to swallow the target with full force. The power varies, depending on the original move." + name: "Super-Wassertornado", + effect: "Der Anwender kreiert mit Z-Kraft einen riesigen Wasserstrudel, der das Ziel verschluckt. Die Stärke variiert je nach zugrunde liegender Attacke." }, "hydroVortexSpecial": { name: "Hydro Vortex", effect: "Dummy Data" }, "bloomDoomPhysical": { - name: "Bloom Doom", - effect: "The user collects energy from plants using its Z-Power and attacks the target with full force. The power varies, depending on the original move." + name: "Brillante Blütenpracht", + effect: "Der Anwender leiht sich durch Z-Kraft die Energie von Wiesenblumen und greift das Ziel damit an. Die Stärke variiert je nach zugrunde liegender Attacke." }, "bloomDoomSpecial": { name: "Bloom Doom", effect: "Dummy Data" }, "gigavoltHavocPhysical": { - name: "Gigavolt Havoc", - effect: "The user hits the target with a powerful electric current collected by its Z-Power. The power varies, depending on the original move." + name: "Gigavolt-Funkensalve", + effect: "Der Anwender greift das Ziel mit durch Z-Kraft gesammelter starker Elektrizität an. Die Stärke variiert je nach zugrunde liegender Attacke." }, "gigavoltHavocSpecial": { name: "Gigavolt Havoc", effect: "Dummy Data" }, "shatteredPsychePhysical": { - name: "Shattered Psyche", - effect: "The user controls the target with its Z-Power and hurts the target with full force. The power varies, depending on the original move." + name: "Psycho-Schmetterschlag", + effect: "Der Anwender kontrolliert das Ziel mit Z-Kraft und macht ihm so das Leben schwer. Die Stärke variiert je nach zugrunde liegender Attacke." }, "shatteredPsycheSpecial": { name: "Shattered Psyche", effect: "Dummy Data" }, "subzeroSlammerPhysical": { - name: "Subzero Slammer", - effect: "The user dramatically drops the temperature using its Z-Power and freezes the target with full force. The power varies, depending on the original move." + name: "Tobender Geofrost", + effect: "Der Anwender senkt mit Z-Kraft die Temperatur drastisch und lässt das Ziel einfrieren. Die Stärke variiert je nach zugrunde liegender Attacke." }, "subzeroSlammerSpecial": { name: "Subzero Slammer", effect: "Dummy Data" }, "devastatingDrakePhysical": { - name: "Devastating Drake", - effect: "The user materializes its aura using its Z-Power and attacks the target with full force. The power varies, depending on the original move." + name: "Drastisches Drachendröhnen", + effect: "Der Anwender materialisiert durch Z-Kraft seine Aura und greift damit das Ziel an. Die Stärke variiert je nach zugrunde liegender Attacke." }, "devastatingDrakeSpecial": { name: "Devastating Drake", effect: "Dummy Data" }, "blackHoleEclipsePhysical": { - name: "Black Hole Eclipse", - effect: "The user gathers dark energy using its Z-Power and sucks the target into it. The power varies, depending on the original move." + name: "Schwarzes Loch des Grauens", + effect: "Der Anwender sammelt mit Z-Kraft dunkle Energie an, die das Ziel verschlingt. Die Stärke variiert je nach zugrunde liegender Attacke." }, "blackHoleEclipseSpecial": { name: "Black Hole Eclipse", effect: "Dummy Data" }, "twinkleTacklePhysical": { - name: "Twinkle Tackle", - effect: "The user creates a very charming space using its Z-Power and totally toys with the target. The power varies, depending on the original move." + name: "Entzückender Sternenstoß", + effect: "Der Anwender kreiert mit Z-Kraft eine zauberhafte Dimension und treibt dort sein Spiel mit dem Ziel. Die Stärke variiert je nach zugrunde liegender Attacke." }, "twinkleTackleSpecial": { name: "Twinkle Tackle", effect: "Dummy Data" }, "catastropika": { - name: "Catastropika", - effect: "The user, Pikachu, surrounds itself with the maximum amount of electricity using its Z-Power and pounces on its target with full force." + name: "Perfektes Pika-Projektil", + effect: "Pikachu umhüllt sich durch Z-Kraft mit gewaltiger elektrischer Energie und stürzt sich mit voller Kraft auf das Ziel." }, "shoreUp": { - name: "Shore Up", - effect: "The user regains up to half of its max HP. It restores more HP in a sandstorm." + name: "Sandsammler", + effect: "KP des Anwenders werden um 50 % der maximalen KP aufgefüllt. Tobt ein Sandsturm, werden noch mehr KP aufgefüllt." }, "firstImpression": { - name: "First Impression", - effect: "Although this move has great power, it only works the first turn each time the user enters battle." + name: "Überrumpler", + effect: "Eine sehr starke Attacke, die jedoch nur erfolgreich ist, wenn sie sofort eingesetzt wird, nachdem der Anwender das Kampffeld betreten hat." }, "banefulBunker": { - name: "Baneful Bunker", - effect: "In addition to protecting the user from attacks, this move also poisons any attacker that makes direct contact." + name: "Bunker", + effect: "Der Anwender wird vor Angriffen geschützt. Gleichzeitig werden alle Pokémon, die mit ihm in Berührung kommen, vergiftet." }, "spiritShackle": { - name: "Spirit Shackle", - effect: "The user attacks while simultaneously stitching the target's shadow to the ground to prevent the target from escaping." + name: "Schattenfessel", + effect: "Der Anwender greift das Ziel an und näht zugleich dessen Schatten am Boden fest, sodass es nicht entkommen kann." }, "darkestLariat": { - name: "Darkest Lariat", - effect: "The user swings both arms and hits the target. The target's stat changes don't affect this attack's damage." + name: "Dark Lariat", + effect: "Der Anwender wirbelt mit beiden Armen und prallt so auf das Ziel. Richtet unabhängig von den Statusveränderungen des Zieles Schaden an." }, "sparklingAria": { - name: "Sparkling Aria", - effect: "The user bursts into song, emitting many bubbles. Any Pokémon suffering from a burn will be healed by the touch of these bubbles." + name: "Schaumserenade", + effect: "Durch Gesang erzeugte Blasen werden auf das Ziel geschleudert. Alle Pokémon, die dadurch Schaden erleiden, werden auch von Verbrennungen geheilt." }, "iceHammer": { - name: "Ice Hammer", - effect: "The user swings and hits with its strong, heavy fist. It lowers the user's Speed, however." + name: "Eishammer", + effect: "Anwender trifft mit einem starken Hieb. Senkt Initiative des Anwenders." }, "floralHealing": { - name: "Floral Healing", - effect: "The user restores the target's HP by up to half of its max HP. It restores more HP when the terrain is grass." + name: "Florakur", + effect: "KP des Zieles werden um 50 % der maximalen KP aufgefüllt. Die Wirkung steigt, wenn der Untergrund in ein Grasfeld verwandelt wurde." }, "highHorsepower": { - name: "High Horsepower", - effect: "The user fiercely attacks the target using its entire body." + name: "Pferdestärke", + effect: "Der Anwender greift das Ziel mit einer heftigen Ganzkörper-Attacke an." }, "strengthSap": { - name: "Strength Sap", - effect: "The user restores its HP by the same amount as the target's Attack stat. It also lowers the target's Attack stat." + name: "Kraftabsorber", + effect: "Ein Angriff, der die KP des Anwenders um die Höhe des Angriffs-Werts des Zieles heilt. Anschließend wird der Angriff des Zieles gesenkt." }, "solarBlade": { - name: "Solar Blade", - effect: "In this two-turn attack, the user gathers light and fills a blade with the light's energy, attacking the target on the next turn." + name: "Solarklinge", + effect: "Der Anwender absorbiert in der 1. Runde Licht, das er in der 2. Runde zu einem Schwert formt, mit dem er angreift." }, "leafage": { - name: "Leafage", - effect: "The user attacks by pelting the target with leaves." + name: "Blattwerk", + effect: "Der Anwender greift das Ziel mit Blättern an." }, "spotlight": { - name: "Spotlight", - effect: "The user shines a spotlight on the target so that only the target will be attacked during the turn." + name: "Rampenlicht", + effect: "Der Anwender lenkt die Aufmerksamkeit auf das Ziel, sodass in dieser Runde nur noch dieses Pokémon angegriffen wird." }, "toxicThread": { - name: "Toxic Thread", - effect: "The user shoots poisonous threads to poison the target and lower the target's Speed stat." + name: "Giftfaden", + effect: "Der Anwender schießt giftige Fäden auf das Ziel, das dadurch vergiftet wird. Außerdem sinkt seine Initiative." }, "laserFocus": { - name: "Laser Focus", - effect: "The user concentrates intensely. The attack on the next turn always results in a critical hit." + name: "Konzentration", + effect: "Der Anwender konzentriert sich, wodurch sein nächster Angriff garantiert ein Volltreffer wird." }, "gearUp": { - name: "Gear Up", - effect: "The user engages its gears to raise the Attack and Sp. Atk stats of ally Pokémon with the Plus or Minus Ability." + name: "Hilfsmechanik", + effect: "Der Anwender erhöht mithilfe von Zahnrädern Angriff und Spezial-Angriff von Team-Pokémon mit der Fähigkeit Plus oder Minus." }, "throatChop": { - name: "Throat Chop", - effect: "The user attacks the target's throat, and the resultant suffering prevents the target from using moves that emit sound for two turns." + name: "Neck Strike", + effect: "Das Pokémon, das von dieser Attacke getroffen wird, erleidet starke Schmerzen und kann deswegen zwei Runden lang keine Lärm-Attacken mehr einsetzen." }, "pollenPuff": { - name: "Pollen Puff", - effect: "The user attacks the enemy with a pollen puff that explodes. If the target is an ally, it gives the ally a pollen puff that restores its HP instead." + name: "Pollenknödel", + effect: "Der Anwender greift mit einem Ball aus Pollen an, der beim Ziel explodiert. Mitstreiter werden von einem Ball getroffen, der ihre KP auffüllt." }, "anchorShot": { - name: "Anchor Shot", - effect: "The user entangles the target with its anchor chain while attacking. The target becomes unable to flee." + name: "Ankerschuss", + effect: "Der Anwender greift das Ziel an, indem er es mit einer Ankerkette umwickelt. Dadurch wird das Ziel an der Flucht gehindert." }, "psychicTerrain": { - name: "Psychic Terrain", - effect: "This protects Pokémon on the ground from priority moves and powers up Psychic-type moves for five turns." + name: "Psychofeld", + effect: "Verhindert für fünf Runden, dass Pokémon am Boden von Attacken mit hoher Erstschlagquote getroffen werden. Erhöht die Stärke von Psycho-Attacken." }, "lunge": { - name: "Lunge", - effect: "The user makes a lunge at the target, attacking with full force. This also lowers the target's Attack stat." + name: "Anfallen", + effect: "Der Anwender greift das Ziel mit ganzer Kraft an, wodurch auch der Angriffs-Wert des Zieles sinkt." }, "fireLash": { - name: "Fire Lash", - effect: "The user strikes the target with a burning lash. This also lowers the target's Defense stat." + name: "Feuerpeitsche", + effect: "Der Anwender greift das Ziel mit einer brennenden Peitsche an und senkt dabei zusätzlich dessen Verteidigungs-Wert." }, "powerTrip": { - name: "Power Trip", - effect: "The user boasts its strength and attacks the target. The more the user's stats are raised, the greater the move's power." + name: "Überheblichkeit", + effect: "Der Anwender prahlt mit seiner Stärke und greift das Ziel an. Dieser Angriff ist umso stärker, je weiter die Statuswerte des Anwenders erhöht sind." }, "burnUp": { - name: "Burn Up", - effect: "To inflict massive damage, the user burns itself out. After using this move, the user will no longer be Fire type." + name: "Ausbrennen", + effect: "Der Anwender nutzt das gesamte Feuer in seinem Körper, um großen Schaden auszuteilen. Die restliche Kampfdauer gehört er nicht mehr dem Typ Feuer an." }, "speedSwap": { - name: "Speed Swap", - effect: "The user exchanges Speed stats with the target." + name: "Initiativetausch", + effect: "Der Anwender tauscht seinen Initiative-Wert mit dem des Zieles." }, "smartStrike": { - name: "Smart Strike", - effect: "The user stabs the target with a sharp horn. This attack never misses." + name: "Schmalhorn", + effect: "Der Anwender durchbohrt das Ziel mit seinem spitzen Horn. Diese Attacke trifft immer." }, "purify": { - name: "Purify", - effect: "The user heals the target's status condition. If the move succeeds, it also restores the user's own HP." + name: "Läuterung", + effect: "Der Anwender heilt das Statusproblem des Zieles und füllt dadurch seine eigenen KP auf." }, "revelationDance": { - name: "Revelation Dance", - effect: "The user attacks the target by dancing very hard. The user's type determines the type of this move." + name: "Wecktanz", + effect: "Der Anwender tanzt und greift dabei das Ziel mit voller Kraft an. Die Attacke hat denselben Typ wie das Pokémon, das sie einsetzt." }, "coreEnforcer": { - name: "Core Enforcer", - effect: "If the Pokémon the user has inflicted damage on have already used their moves, this move eliminates the effect of the target's Ability." + name: "Sanktionskern", + effect: "Hat das Pokémon, das durch diese Attacke Schaden genommen hat, in dieser Runde bereits gehandelt, verliert es seine Fähigkeit." }, "tropKick": { - name: "Trop Kick", - effect: "The user lands an intense kick of tropical origins on the target. This also lowers the target's Attack stat." + name: "Tropenkick", + effect: "Der Anwender greift den Gegner mit einem heftigen Tritt tropischer Herkunft an. Dabei sinkt auch der Angriffs-Wert des Gegners." }, "instruct": { - name: "Instruct", - effect: "The user instructs the target to use the target's last move again." + name: "Kommando", + effect: "Der Anwender befiehlt dem Ziel, dessen zuletzt ausgeführte Attacke sofort wieder einzusetzen." }, "beakBlast": { - name: "Beak Blast", - effect: "The user first heats up its beak, and then it attacks the target. Making direct contact with the Pokémon while it's heating up its beak results in a burn." + name: "Schnabelkanone", + effect: "Der Anwender erhitzt zuerst seinen Schnabel und greift dann an. Pokémon, die ihn während des Erhitzens berühren, erleiden Verbrennungen." }, "clangingScales": { - name: "Clanging Scales", - effect: "The user rubs the scales on its entire body and makes a huge noise to attack opposing Pokémon. The user's Defense stat goes down after the attack." + name: "Schuppenrasseln", + effect: "Der Anwender erzeugt durch das Rasseln mit seinen Schuppen ein lautes Geräusch und greift an. Anschließend sinkt seine Verteidigung." }, "dragonHammer": { - name: "Dragon Hammer", - effect: "The user uses its body like a hammer to attack the target and inflict damage." + name: "Drachenhammer", + effect: "Der Anwender nutzt seinen Körper wie einen Hammer und stürzt sich auf das Ziel, wodurch dieses Schaden erleidet." }, "brutalSwing": { - name: "Brutal Swing", - effect: "The user swings its body around violently to inflict damage on everything in its vicinity." + name: "Wirbler", + effect: "Der Anwender dreht schwungvoll seinen Körper und fügt den Pokémon in seiner Nähe dabei Schaden zu." }, "auroraVeil": { - name: "Aurora Veil", - effect: "This move reduces damage from physical and special moves for five turns. This can be used only when it is snowing." + name: "Auroraschleier", + effect: "Diese Attacke schwächt fünf Runden lang den durch physische sowie durch Spezial-Attacken erhaltenen Schaden. Kann nur bei Hagel eingesetzt werden." }, "sinisterArrowRaid": { - name: "Sinister Arrow Raid", - effect: "The user, Decidueye, creates countless arrows using its Z-Power and shoots the target with full force." + name: "Schatten-Pfeilregen", + effect: "Silvarro stellt mit Z-Kraft unzählige Pfeile her und lässt diese auf das Ziel niederprasseln." }, "maliciousMoonsault": { - name: "Malicious Moonsault", - effect: "The user, Incineroar, strengthens its body using its Z-Power and crashes into the target with full force." + name: "Hyper Dark Crusher", + effect: "Mit seinem durch Z-Kraft gestählten Körper stürzt sich Fuegro mit ganzer Kraft auf das Ziel." }, "oceanicOperetta": { - name: "Oceanic Operetta", - effect: "The user, Primarina, summons a massive amount of water using its Z-Power and attacks the target with full force." + name: "Grandiose Meeressymphonie", + effect: "Primarene ruft mit Z-Kraft große Mengen an Wasser herbei und greift damit das Ziel an." }, "guardianOfAlola": { - name: "Guardian of Alola", - effect: "The user, the Land Spirit Pokémon, obtains Alola's energy using its Z-Power and attacks the target with full force. This reduces the target's HP greatly." + name: "Alolas Wächter", + effect: "Ein gewaltiger Angriff des Schutzpatrons, der durch Z-Kraft die Kraft Alolas erlangt hat. Reduziert die verbleibenden KP des Zieles stark." }, "soulStealing7StarStrike": { - name: "Soul-Stealing 7-Star Strike", - effect: "After obtaining Z-Power, the user, Marshadow, punches and kicks the target consecutively with full force." + name: "Sternbild des Seelenraubes", + effect: "Marshadow schlägt mit durch Z-Kraft gestärkten Schlägen und Tritten in einer Serien-Attacke auf das Ziel ein." }, "stokedSparksurfer": { - name: "Stoked Sparksurfer", - effect: "After obtaining Z-Power, the user, Alolan Raichu, attacks the target with full force. This move leaves the target with paralysis." + name: "Blitz-Wellenritt", + effect: "Das Alola-Raichu greift das Ziel mithilfe von Z-Kraft mit voller Wucht an und paralysiert es." }, "pulverizingPancake": { - name: "Pulverizing Pancake", - effect: "Z-Power brings out the true capabilities of the user, Snorlax. The Pokémon moves its enormous body energetically and attacks the target with full force." + name: "Schluss mit lustig", + effect: "Relaxo wird von Z-Kraft erfüllt und macht Ernst. Es bringt seinen riesigen Körper in Schwung und stürzt sich mit ganzer Kraft auf das Ziel." }, "extremeEvoboost": { - name: "Extreme Evoboost", - effect: "After obtaining Z-Power, the user, Eevee, gets energy from its evolved friends and boosts its stats sharply." + name: "Macht der Neun", + effect: "Evoli macht sich durch Z-Kraft die Stärke seiner Weiterentwicklungen zunutze und erhöht seine Statuswerte stark." }, "genesisSupernova": { - name: "Genesis Supernova", - effect: "After obtaining Z-Power, the user, Mew, attacks the target with full force. The terrain will be charged with psychic energy." + name: "Supernova des Ursprungs", + effect: "Mew greift das Ziel mithilfe von Z-Kraft mit voller Wucht an. Der Untergrund wird dabei in ein Psychofeld verwandelt." }, "shellTrap": { - name: "Shell Trap", - effect: "The user sets a shell trap. If the user is hit by a physical move, the trap will explode and inflict damage on opposing Pokémon." + name: "Panzerfalle", + effect: "Der Anwender legt eine Panzerfalle. Wird er von einer physischen Attacke getroffen, explodiert die Falle und fügt dem Angreifer Schaden zu." }, "fleurCannon": { - name: "Fleur Cannon", - effect: "The user unleashes a strong beam. The attack's recoil harshly lowers the user's Sp. Atk stat." + name: "Kanonenbouquet", + effect: "Der Anwender greift das Ziel mit einem gewaltigen Strahl an. Sein eigener Spezial-Angriff sinkt dadurch stark." }, "psychicFangs": { - name: "Psychic Fangs", - effect: "The user bites the target with its psychic capabilities. This can also destroy Light Screen and Reflect." + name: "Psychobeißer", + effect: "Der Anwender beißt das Ziel mithilfe von Psycho-Kräften. Die Attacke durchbricht auch Barrieren wie Lichtschild und Reflektor." }, "stompingTantrum": { - name: "Stomping Tantrum", - effect: "Driven by frustration, the user attacks the target. If the user's previous move has failed, the power of this move doubles." + name: "Fruststampfer", + effect: "Von Frust getrieben greift der Anwender an. Wenn seine vorige Attacke fehlgeschlagen ist, verdoppelt sich die Stärke der Attacke." }, "shadowBone": { - name: "Shadow Bone", - effect: "The user attacks by beating the target with a bone that contains a spirit. This may also lower the target's Defense stat." + name: "Schattenknochen", + effect: "Der Anwender greift das Ziel mit einem Knochen an, in dem eine Seele haust. Senkt eventuell die Verteidigung des Zieles." }, "accelerock": { - name: "Accelerock", - effect: "The user smashes into the target at high speed. This move always goes first." + name: "Turbofelsen", + effect: "Der Anwender prallt mit großer Geschwindigkeit auf das Ziel. Hohe Erstschlagquote." }, "liquidation": { - name: "Liquidation", - effect: "The user slams into the target using a full-force blast of water. This may also lower the target's Defense stat." + name: "Aquadurchstoß", + effect: "Der Anwender greift das Ziel mit der Kraft des Wassers an. Senkt eventuell die Verteidigung des Zieles." }, "prismaticLaser": { - name: "Prismatic Laser", - effect: "The user shoots powerful lasers using the power of a prism. The user can't move on the next turn." + name: "Prisma-Laser", + effect: "Der Anwender feuert mithilfe von Prisma-Kraft mächtige Lichtstrahlen ab. In der nächsten Runde kann er nicht handeln." }, "spectralThief": { - name: "Spectral Thief", - effect: "The user hides in the target's shadow, steals the target's stat boosts, and then attacks." + name: "Diebesschatten", + effect: "Der Anwender schleicht sich in den Schatten des Zieles, stiehlt dessen erhöhte Statuswerte und fügt ihm Schaden zu." }, "sunsteelStrike": { - name: "Sunsteel Strike", - effect: "The user slams into the target with the force of a meteor. This move can be used on the target regardless of its Abilities." + name: "Stahlgestirn", + effect: "Der Anwender stürzt mit der Gewalt eines Meteors auf das Ziel. Die Fähigkeit des Zieles wird dabei ignoriert." }, "moongeistBeam": { - name: "Moongeist Beam", - effect: "The user emits a sinister ray to attack the target. This move can be used on the target regardless of its Abilities." + name: "Schattenstrahl", + effect: "Der Anwender greift mit einem unheimlichen Lichtstrahl an. Diese Attacke ignoriert die Fähigkeit des Zieles." }, "tearfulLook": { - name: "Tearful Look", - effect: "The user gets teary eyed to make the target lose its combative spirit. This lowers the target's Attack and Sp. Atk stats." + name: "Tränendrüse", + effect: "Dem Anwender stehen Tränen in den Augen, wodurch das Ziel seinen Kampfeswillen verliert. Angriff und Spezial-Angriff des Zieles sinken." }, "zingZap": { - name: "Zing Zap", - effect: "A strong electric blast crashes down on the target, giving it an electric shock. This may also make the target flinch." + name: "Elektropikser", + effect: "Der Anwender rammt das Ziel und schockt es mit starkem Strom. Das Ziel schreckt eventuell zurück." }, "naturesMadness": { - name: "Nature's Madness", - effect: "The user hits the target with the force of nature. It halves the target's HP." + name: "Naturzorn", + effect: "Das Ziel wird vom Zorn der Natur getroffen und verliert dadurch die Hälfte seiner KP." }, "multiAttack": { - name: "Multi-Attack", - effect: "Cloaking itself in high energy, the user slams into the target. The memory held determines the move's type." + name: "Multi-Angriff", + effect: "Der Anwender sammelt eine große Menge Energie und greift das Ziel damit an. Der Typ der Attacke hängt von dem der Disc ab." }, "tenMillionVoltThunderbolt": { name: "10,000,000 Volt Thunderbolt", effect: "The user, Pikachu wearing a cap, powers up a jolt of electricity using its Z-Power and unleashes it. Critical hits land more easily." }, "mindBlown": { - name: "Mind Blown", - effect: "The user attacks everything around it by causing its own head to explode. This also damages the user." + name: "Knallkopf", + effect: "Der Anwender greift alle Pokémon in der Umgebung an, indem er seinen Kopf explodieren lässt. Dabei verletzt er sich auch selbst." }, "plasmaFists": { - name: "Plasma Fists", - effect: "The user attacks with electrically charged fists. This move changes Normal-type moves to Electric-type moves." + name: "Plasmafäuste", + effect: "Ein Angriff mit elektrisch geladenen Fäusten, der bewirkt, dass Normal-Attacken den Typ Elektro annehmen." }, "photonGeyser": { - name: "Photon Geyser", - effect: "The user attacks a target with a pillar of light. This move inflicts Attack or Sp. Atk damage—whichever stat is higher for the user." + name: "Photonen-Geysir", + effect: "Ein Angriff mit einer Lichtsäule. Ist der Angriff höher als der Spezial-Angriff, wird die Höhe des Schadens durch den Angriff bestimmt und umgekehrt." }, "lightThatBurnsTheSky": { - name: "Light That Burns the Sky", - effect: "This attack inflicts Attack or Sp. Atk damage—whichever stat is higher for the user, Necrozma. This move ignores the target's Ability." + name: "Licht des Erlöschens", + effect: "Ist der Angriff höher als der Spezial-Angriff, wird die Höhe des Schadens durch den Angriff bestimmt und umgekehrt. Ignoriert die Fähigkeit des Zieles." }, "searingSunrazeSmash": { - name: "Searing Sunraze Smash", - effect: "After obtaining Z-Power, the user, Solgaleo, attacks the target with full force. This move can ignore the effect of the target's Ability." + name: "Schmetternde Sonnenwalze", + effect: "Solgaleo greift das Ziel mithilfe von Z-Kraft mit voller Wucht an. Ignoriert die Fähigkeit des Zieles." }, "menacingMoonrazeMaelstrom": { - name: "Menacing Moonraze Maelstrom", - effect: "After obtaining Z-Power, the user, Lunala, attacks the target with full force. This move can ignore the effect of the target's Ability." + name: "Geballter Mondlaser", + effect: "Lunala greift das Ziel mithilfe von Z-Kraft mit voller Wucht an. Ignoriert die Fähigkeit des Zieles." }, "letsSnuggleForever": { - name: "Let's Snuggle Forever", - effect: "After obtaining Z-Power, the user, Mimikyu, punches the target with full force." + name: "Herzliche Knuddelkloppe", + effect: "Mimigma greift das Ziel mithilfe von Z-Kraft mit voller Wucht und viel Liebe an." }, "splinteredStormshards": { - name: "Splintered Stormshards", - effect: "After obtaining Z-Power, the user, Lycanroc, attacks the target with full force. This move negates the effect on the battlefield." + name: "Fataler Steinregen", + effect: "Wolwerock greift das Ziel mithilfe von Z-Kraft mit voller Wucht an. Herrschen besondere Feldeffekte, werden diese zusätzlich neutralisiert." }, "clangorousSoulblaze": { - name: "Clangorous Soulblaze", - effect: "After obtaining Z-Power, the user, Kommo-o, attacks the opposing Pokémon with full force. This move boosts the user's stats." + name: "Rasselnder Seelentanz", + effect: "Grandiras greift Gegner mithilfe von Z-Kraft mit voller Wucht an. Zusätzlich werden seine Statuswerte erhöht." }, "zippyZap": { - name: "Zippy Zap", - effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and results in a critical hit." + name: "Britzelturbo", + effect: "Ein stürmischer Blitz-Angriff mit hoher Erstschlag- und Volltrefferquote." }, "splishySplash": { - name: "Splishy Splash", - effect: "The user charges a huge wave with electricity and hits the opposing Pokémon with the wave. This may also leave the opposing Pokémon with paralysis." + name: "Plätschersurfer", + effect: "Pikachu greift das Ziel mit einer großen, elektrisch aufgeladenen Welle an. Das Ziel wird eventuell paralysiert." }, "floatyFall": { - name: "Floaty Fall", - effect: "The user floats in the air, and then dives at a steep angle to attack the target. This may also make the target flinch." + name: "Schwebesturz", + effect: "Pikachu schwebt nach oben und stürzt dann unvermittelt auf das Ziel herab. Das Ziel schreckt eventuell zurück." }, "pikaPapow": { - name: "Pika Papow", - effect: "The more Pikachu loves its Trainer, the greater the move's power. It never misses." + name: "Pika-Flash", + effect: "Je größer Pikachus Vertrauen zu seinem Trainer ist, desto stärker fällt dieser Angriff aus. Diese Attacke trifft immer." }, "bouncyBubble": { - name: "Bouncy Bubble", - effect: "The user attacks by shooting water bubbles at the target. It then absorbs water and restores its HP by half the damage taken by the target." + name: "Blubbsauger", + effect: "Evoli greift mit Wasserblasen an. Evolis KP werden um die Hälfte des vom Wasser angerichteten Schadens geheilt." }, "buzzyBuzz": { - name: "Buzzy Buzz", - effect: "The user shoots a jolt of electricity to attack the target. This also leaves the target with paralysis." + name: "Knisterladung", + effect: "Evoli greift das Ziel mit Elektrizität an, wodurch dieses paralysiert wird." }, "sizzlySlide": { - name: "Sizzly Slide", - effect: "The user cloaks itself in fire and charges at the target. This also leaves the target with a burn." + name: "Flackerbrand", + effect: "Evoli hüllt sich in Flammen und stürzt sich beherzt auf das Ziel, welches dadurch Verbrennungen erleidet." }, "glitzyGlow": { - name: "Glitzy Glow", - effect: "The user bombards the target with telekinetic force. A wondrous wall of light is put up to weaken the power of the opposing Pokémon's special moves." + name: "Pulsieraura", + effect: "Evoli greift das Ziel gnadenlos mit telekinetischer Energie an. Dabei wird eine geheimnisvolle Wand erzeugt, die Spezial-Attacken des Ziels abschwächt." }, "baddyBad": { - name: "Baddy Bad", - effect: "The user acts bad and attacks the target. A wondrous wall of light is put up to weaken the power of the opposing Pokémon's physical moves." + name: "Quälzone", + effect: "Evoli zeigt sich von seiner dunklen Seite und greift an. Dabei wird eine geheimnisvolle Wand erzeugt, die physische Attacken des Ziels abschwächt." }, "sappySeed": { - name: "Sappy Seed", - effect: "The user grows a gigantic stalk that scatters seeds to attack the target. The seeds drain the target's HP every turn." + name: "Sprießbomben", + effect: "Evoli lässt eine riesige Ranke wachsen, von der Samen herabfallen, die dem Ziel schaden und ihm in jeder Runde KP absaugen." }, "freezyFrost": { - name: "Freezy Frost", - effect: "The user attacks with a crystal made of cold frozen haze. It eliminates every stat change among all the Pokémon engaged in battle." + name: "Klirrfrost", + effect: "Evoli greift mit einem schwarzen Kristall aus gefrorenem Nebel an. Die Statusveränderungen aller am Kampf beteiligten Pokémon werden zurückgesetzt." }, "sparklySwirl": { - name: "Sparkly Swirl", - effect: "The user attacks the target by wrapping it with a whirlwind of an overpowering scent. This also heals all status conditions of the user's party." + name: "Glitzersturm", + effect: "Evoli greift an, indem es das Ziel in einen nahezu erstickend wohlriechenden Wirbelwind hüllt. Das Team des Anwenders wird von Statusproblemen geheilt." }, "veeveeVolley": { - name: "Veevee Volley", - effect: "The more Eevee loves its Trainer, the greater the move's power. It never misses." + name: "Evo-Crash", + effect: "Je größer Evolis Vertrauen zu seinem Trainer ist, desto stärker fällt dieser Angriff aus. Diese Attacke trifft immer." }, "doubleIronBash": { - name: "Double Iron Bash", - effect: "The user rotates, centering the hex nut in its chest, and then strikes with its arms twice in a row. This may also make the target flinch." + name: "Panzerfäuste", + effect: "Der Anwender rotiert um die Schraubenmutter in seinem Brustkorb und schlägt zweimal hintereinander mit den Armen zu. Das Ziel schreckt eventuell zurück." }, "maxGuard": { - name: "Max Guard", - effect: "This move enables the user to protect itself from all attacks. Its chance of failing rises if it is used in succession." + name: "Dyna-Wall", + effect: "Anwender wehrt jede Attacke ab. Scheitert eventuell bei Wiederholung." }, "dynamaxCannon": { - name: "Dynamax Cannon", - effect: "The user unleashes a strong beam from its core. This move deals twice the damage if the target is over level 200." + name: "Dynamax-Kanone", + effect: "Der Anwender schießt einen Strahl aus seinem Kern ab. Dynamaximierte Ziele erleiden doppelten Schaden." }, "snipeShot": { - name: "Snipe Shot", - effect: "The user ignores the effects of opposing Pokémon's moves and Abilities that draw in moves, allowing this move to hit the chosen target." + name: "Präzisionsschuss", + effect: "Die Attacke richtet sich gegen das ausgewählte Ziel, unabhängig von Fähigkeiten oder Attacken, die Angriffe auf sich ziehen." }, "jawLock": { - name: "Jaw Lock", - effect: "This move prevents the user and the target from switching out until either of them faints. The effect goes away if either of the Pokémon leaves the field." + name: "Fesselbiss", + effect: "Anwender und Ziel können nicht ausgetauscht werden, bis einer von ihnen kampfunfähig wird. Der Effekt endet, wenn eines der Pokémon das Kampffeld verlässt." }, "stuffCheeks": { - name: "Stuff Cheeks", - effect: "The user eats its held Berry, then sharply raises its Defense stat." + name: "Backenstopfer", + effect: "Der Anwender frisst die Beere, die er trägt, wodurch seine Verteidigung stark erhöht wird." }, "noRetreat": { - name: "No Retreat", - effect: "This move raises all the user's stats but prevents the user from switching out or fleeing." + name: "Finalformation", + effect: "Alle Statuswerte des Anwenders werden erhöht, aber dafür kann er weder ausgewechselt werden noch fliehen." }, "tarShot": { - name: "Tar Shot", - effect: "The user pours sticky tar over the target, lowering the target's Speed stat. The target becomes weaker to Fire-type moves." + name: "Teerschuss", + effect: "Der Anwender übergießt das Ziel mit klebrigem Teer und senkt so dessen Initiative. Dadurch wird es schwach gegenüber Feuer-Attacken." }, "magicPowder": { - name: "Magic Powder", - effect: "The user scatters a cloud of magic powder that changes the target to Psychic type." + name: "Magiepuder", + effect: "Das Ziel wird mit magischem Puder bestreut und nimmt den Typ Psycho an." }, "dragonDarts": { - name: "Dragon Darts", - effect: "The user attacks twice using Dreepy. If there are two targets, this move hits each target once." + name: "Drachenpfeile", + effect: "Der Anwender greift zweimal mit Grolldra an. Bei zwei Zielen werden beide jeweils einmal angegriffen." }, "teatime": { name: "Teatime", - effect: "The user has teatime with all the Pokémon in the battle. Each Pokémon eats its held Berry." + effect: "Der Anwender lädt alle am Kampf beteiligten Pokémon zu einem Teekränzchen ein, woraufhin diese die Beeren essen, die sie bei sich tragen." }, "octolock": { - name: "Octolock", - effect: "The user locks the target in and prevents it from fleeing. This move also lowers the target's Defense and Sp. Def every turn." + name: "Octoklammer", + effect: "Das Ziel wird an der Flucht gehindert und seine Verteidigung und Spezial-Verteidigung sinken jede Runde." }, "boltBeak": { - name: "Bolt Beak", - effect: "The user stabs the target with its electrified beak. If the user attacks before the target, the power of this move is doubled." + name: "Schockschnabel", + effect: "Der Anwender sticht mit einem elektrisch aufgeladenen Schnabel zu. Kommt er vor dem Ziel zum Zug, verdoppelt sich die Stärke der Attacke." }, "fishiousRend": { - name: "Fishious Rend", - effect: "The user rends the target with its hard gills. If the user attacks before the target, the power of this move is doubled." + name: "Kiemenbiss", + effect: "Der Anwender beißt mit seinen harten Kiemen zu. Kommt er vor dem Ziel zum Zug, verdoppelt sich die Stärke der Attacke." }, "courtChange": { - name: "Court Change", - effect: "With its mysterious power, the user swaps the effects on either side of the field." + name: "Seitenwechsel", + effect: "Durch eine mysteriöse Macht werden wirksame Effekte auf Mitstreiterseite und gegnerischer Seite getauscht." }, "maxFlare": { - name: "Max Flare", - effect: "This is a Fire-type attack Dynamax Pokémon use. The user intensifies the sun for five turns." + name: "Dyna-Brand", + effect: "Eine Feuer-Attacke, die nur Dynamax-Pokémon einsetzen können. Die Sonne brennt unbarmherzig fünf Runden lang." }, "maxFlutterby": { - name: "Max Flutterby", - effect: "This is a Bug-type attack Dynamax Pokémon use. This lowers the target's Sp. Atk stat." + name: "Dyna-Schwarm", + effect: "Eine Käfer-Attacke, die nur Dynamax-Pokémon einsetzen können. Senkt den Spezial-Angriff des Zieles." }, "maxLightning": { - name: "Max Lightning", - effect: "This is an Electric-type attack Dynamax Pokémon use. The user turns the ground into Electric Terrain for five turns." + name: "Dyna-Gewitter", + effect: "Eine Elektro-Attacke, die nur Dynamax-Pokémon einsetzen können. Erzeugt fünf Runden lang ein Elektrofeld." }, "maxStrike": { - name: "Max Strike", - effect: "This is a Normal-type attack Dynamax Pokémon use. This lowers the target's Speed stat." + name: "Dyna-Angriff", + effect: "Eine Normal-Attacke, die nur Dynamax-Pokémon einsetzen können. Senkt die Initiative des Zieles." }, "maxKnuckle": { - name: "Max Knuckle", - effect: "This is a Fighting-type attack Dynamax Pokémon use. This raises ally Pokémon's Attack stats." + name: "Dyna-Faust", + effect: "Eine Kampf-Attacke, die nur Dynamax-Pokémon einsetzen können. Erhöht den Angriff der Mitstreiterseite." }, "maxPhantasm": { - name: "Max Phantasm", - effect: "This is a Ghost-type attack Dynamax Pokémon use. This lowers the target's Defense stat." + name: "Dyna-Spuk", + effect: "Eine Geister-Attacke, die nur Dynamax-Pokémon einsetzen können. Senkt die Verteidigung des Zieles." }, "maxHailstorm": { - name: "Max Hailstorm", - effect: "This is an Ice-type attack Dynamax Pokémon use. The user summons a hailstorm lasting five turns." + name: "Dyna-Frost", + effect: "Eine Eis-Attacke, die nur Dynamax-Pokémon einsetzen können. Lässt fünf Runden lang einen Hagelsturm toben." }, "maxOoze": { - name: "Max Ooze", - effect: "This is a Poison-type attack Dynamax Pokémon use. This raises ally Pokémon's Sp. Atk stats." + name: "Dyna-Giftschwall", + effect: "Eine Gift-Attacke, die nur Dynamax-Pokémon einsetzen können. Erhöht den Spezial-Angriff der Mitstreiterseite." }, "maxGeyser": { - name: "Max Geyser", - effect: "This is a Water-type attack Dynamax Pokémon use. The user summons a heavy rain that falls for five turns." + name: "Dyna-Flut", + effect: "Eine Wasser-Attacke, die nur Dynamax-Pokémon einsetzen können. Löst fünf Runden lang strömenden Regen aus." }, "maxAirstream": { - name: "Max Airstream", - effect: "This is a Flying-type attack Dynamax Pokémon use. This raises ally Pokémon's Speed stats." + name: "Dyna-Düse", + effect: "Eine Flug-Attacke, die nur Dynamax-Pokémon einsetzen können. Erhöht die Initiative der Mitstreiterseite." }, "maxStarfall": { - name: "Max Starfall", - effect: "This is a Fairy-type attack Dynamax Pokémon use. The user turns the ground into Misty Terrain for five turns." + name: "Dyna-Zauber", + effect: "Eine Feen-Attacke, die nur Dynamax-Pokémon einsetzen können. Erzeugt fünf Runden lang ein Nebelfeld." }, "maxWyrmwind": { - name: "Max Wyrmwind", - effect: "This is a Dragon-type attack Dynamax Pokémon use. This lowers the target's Attack stat." + name: "Dyna-Wyrm", + effect: "Eine Drachen-Attacke, die nur Dynamax-Pokémon einsetzen können. Senkt den Angriff des Zieles." }, "maxMindstorm": { - name: "Max Mindstorm", - effect: "This is a Psychic-type attack Dynamax Pokémon use. The user turns the ground into Psychic Terrain for five turns." + name: "Dyna-Kinese", + effect: "Eine Psycho-Attacke, die nur Dynamax-Pokémon einsetzen können. Erzeugt fünf Runden lang ein Psychofeld." }, "maxRockfall": { - name: "Max Rockfall", - effect: "This is a Rock-type attack Dynamax Pokémon use. The user summons a sandstorm lasting five turns." + name: "Dyna-Brocken", + effect: "Eine Gesteins-Attacke, die nur Dynamax-Pokémon einsetzen können. Lässt fünf Runden lang einen Sandsturm toben." }, "maxQuake": { - name: "Max Quake", - effect: "This is a Ground-type attack Dynamax Pokémon use. This raises ally Pokémon's Sp. Def stats." + name: "Dyna-Erdstoß", + effect: "Eine Boden-Attacke, die nur Dynamax-Pokémon einsetzen können. Erhöht die Spezial-Verteidigung der Mitstreiterseite." }, "maxDarkness": { - name: "Max Darkness", - effect: "This is a Dark-type attack Dynamax Pokémon use. This lowers the target's Sp. Def stat." + name: "Dyna-Dunkel", + effect: "Eine Unlicht-Attacke, die nur Dynamax-Pokémon einsetzen können. Senkt die Spezial-Verteidigung des Zieles." }, "maxOvergrowth": { - name: "Max Overgrowth", - effect: "This is a Grass-type attack Dynamax Pokémon use. The user turns the ground into Grassy Terrain for five turns." + name: "Dyna-Flora", + effect: "Eine Pflanzen-Attacke, die nur Dynamax-Pokémon einsetzen können. Erzeugt fünf Runden lang ein Grasfeld." }, "maxSteelspike": { - name: "Max Steelspike", - effect: "This is a Steel-type attack Dynamax Pokémon use. This raises ally Pokémon's Defense stats." + name: "Dyna-Stahlzacken", + effect: "Eine Stahl-Attacke, die nur Dynamax-Pokémon einsetzen können. Erhöht die Verteidigung der Mitstreiterseite." }, "clangorousSoul": { - name: "Clangorous Soul", - effect: "The user raises all its stats by using some of its HP." + name: "Seelentanz", + effect: "Der Anwender setzt eine kleine Menge an KP ein, um alle seine Statuswerte zu erhöhen." }, "bodyPress": { name: "Body Press", - effect: "The user attacks by slamming its body into the target. The higher the user's Defense, the more damage it can inflict on the target." + effect: "Der Anwender greift mit seinem ganzen Körper an. Je höher seine Verteidigung ist, desto mehr Schaden richtet er an." }, "decorate": { - name: "Decorate", - effect: "The user sharply raises the target's Attack and Sp. Atk stats by decorating the target." + name: "Verzierung", + effect: "Durch Verzierungen werden der Angriff und Spezial-Angriff des Zieles stark erhöht." }, "drumBeating": { - name: "Drum Beating", - effect: "The user plays its drum, controlling the drum's roots to attack the target. This also lowers the target's Speed stat." + name: "Trommelschläge", + effect: "Der Anwender kontrolliert durch Trommeln Wurzeln, die das Ziel angreifen und dessen Initiative senken." }, "snapTrap": { - name: "Snap Trap", - effect: "The user snares the target in a snap trap for four to five turns." + name: "Fangeisen", + effect: "Das Ziel wird vier bis fünf Runden lang in einem Fangeisen festgehalten und angegriffen." }, "pyroBall": { - name: "Pyro Ball", - effect: "The user attacks by igniting a small stone and launching it as a fiery ball at the target. This may also leave the target with a burn." + name: "Feuerball", + effect: "Der Anwender greift mit einem Ball aus Feuer an, den er durch Anzünden eines kleinen Steins erzeugt. Fügt dem Ziel eventuell Verbrennungen zu." }, "behemothBlade": { - name: "Behemoth Blade", - effect: "The user wields a large, powerful sword using its whole body and cuts the target in a vigorous attack." + name: "Gigantenhieb", + effect: "Der Anwender wird zu einem riesigen Schwert und greift das Ziel an. Dynamaximierte Ziele erleiden doppelten Schaden." }, "behemothBash": { - name: "Behemoth Bash", - effect: "The user's body becomes a firm shield and slams into the target fiercely." + name: "Gigantenstoß", + effect: "Der Anwender wird zu einem riesigen Schild und greift das Ziel an. Dynamaximierte Ziele erleiden doppelten Schaden." }, "auraWheel": { - name: "Aura Wheel", - effect: "Morpeko attacks and raises its Speed with the energy stored in its cheeks. This move's type changes depending on the user's form." + name: "Aura-Rad", + effect: "Mithilfe der in den Backentaschen gespeicherten Energie greift der Anwender an und erhöht seine Initiative. Der Typ der Attacke hängt von Morpekos Form ab." }, "breakingSwipe": { - name: "Breaking Swipe", - effect: "The user swings its tough tail wildly and attacks opposing Pokémon. This also lowers their Attack stats." + name: "Breitseite", + effect: "Der Anwender schwingt heftig seinen robusten Schweif, um damit gegnerische Pokémon anzugreifen und ihren Angriffs-Wert zu senken." }, "branchPoke": { - name: "Branch Poke", - effect: "The user attacks the target by poking it with a sharply pointed branch." + name: "Zweigstoß", + effect: "Der Anwender attackiert das Ziel mit einem spitzen Zweig." }, "overdrive": { name: "Overdrive", - effect: "The user attacks opposing Pokémon by twanging a guitar or bass guitar, causing a huge echo and strong vibration." + effect: "Der Anwender haut in die Saiten seiner Gitarre oder seines Basses und erzeugt dröhnende, kraftvolle Vibrationen, die gegnerischen Pokémon schaden." }, "appleAcid": { - name: "Apple Acid", - effect: "The user attacks the target with an acidic liquid created from tart apples. This also lowers the target's Sp. Def stat." + name: "Apfelsäure", + effect: "Der Anwender greift mit einer aus einem sauren Apfel hergestellten säurehaltigen Flüssigkeit an. Dabei wird die Spezial-Verteidigung des Zieles gesenkt." }, "gravApple": { - name: "Grav Apple", - effect: "The user inflicts damage by dropping an apple from high above. This also lowers the target's Defense stat." + name: "Gravitation", + effect: "Ein Apfel fällt aus großer Höhe herab und richtet Schaden an. Dabei wird die Verteidigung des Zieles gesenkt." }, "spiritBreak": { - name: "Spirit Break", - effect: "The user attacks the target with so much force that it could break the target's spirit. This also lowers the target's Sp. Atk stat." + name: "Seelenbruch", + effect: "Die Attacke trifft das Ziel mit so viel Wucht, dass es den Mut verliert. Dabei wird sein Spezial-Angriff gesenkt." }, "strangeSteam": { - name: "Strange Steam", - effect: "The user attacks the target by emitting steam. This may also confuse the target." + name: "Wunderdampf", + effect: "Der Anwender stößt Dampf aus, mit dem er das Ziel angreift. Dieses wird eventuell verwirrt." }, "lifeDew": { - name: "Life Dew", - effect: "The user scatters mysterious water around and restores the HP of itself and its ally Pokémon in the battle." + name: "Lebenstropfen", + effect: "Wundersames Wasser heilt die KP des Anwenders und seiner am Kampf beteiligten Mitstreiter." }, "obstruct": { - name: "Obstruct", - effect: "This move enables the user to protect itself from all attacks. Its chance of failing rises if it is used in succession. Direct contact harshly lowers the attacker's Defense stat." + name: "Abblocker", + effect: "Der Anwender wehrt jede Attacke ab. Berührt ihn währenddessen ein Pokémon, sinkt dessen Verteidigung stark. Scheitert eventuell bei Wiederholung." }, "falseSurrender": { - name: "False Surrender", - effect: "The user pretends to bow its head, but then it stabs the target with its disheveled hair. This attack never misses." + name: "Kniefalltrick", + effect: "Der Anwender tut so, als würde er sich verneigen, und sticht dann mit seinem zerzausten Fell zu. Diese Attacke trifft immer." }, "meteorAssault": { - name: "Meteor Assault", - effect: "The user attacks wildly with its thick leek. The user can't move on the next turn, because the force of this move makes it stagger." + name: "Sternensturm", + effect: "Der Anwender greift mit seiner Lauchstange an. Von der Wucht der Attacke wird ihm jedoch so schwindelig, dass er in der nächsten Runde nicht handeln kann." }, "eternabeam": { - name: "Eternabeam", - effect: "This is Eternatus's most powerful attack in its original form. The user can't move on the next turn." + name: "Unendynastrahlen", + effect: "Der mächtigste Angriff, über den Endynalos in seiner ursprünglichen Form verfügt. In der nächsten Runde kann der Anwender nicht handeln." }, "steelBeam": { - name: "Steel Beam", - effect: "The user fires a beam of steel that it collected from its entire body. This also damages the user." + name: "Stahlstrahl", + effect: "Der Anwender schießt Stahl, den er in seinem ganzen Körper angesammelt hat, in Form eines mächtigen Strahls ab. Dabei verletzt er sich auch selbst." }, "expandingForce": { - name: "Expanding Force", - effect: "The user attacks the target with its psychic power. This move's power goes up and damages all opposing Pokémon on Psychic Terrain." + name: "Flächenmacht", + effect: "Der Anwender greift das Ziel mit Psycho-Kräften an. Wenn ein Psychofeld aktiv ist, steigt die Stärke und es wird allen gegnerischen Pokémon Schaden zugefügt." }, "steelRoller": { - name: "Steel Roller", - effect: "The user attacks while destroying the terrain. This move fails when the ground hasn't turned into a terrain." + name: "Eisenwalze", + effect: "Der Anwender greift an und zerstört dabei etwaige Felder. Ist kein Feld aktiv, schlägt die Attacke fehl." }, "scaleShot": { - name: "Scale Shot", - effect: "The user attacks by shooting scales two to five times in a row. This move boosts the user's Speed stat but lowers its Defense stat." + name: "Schuppenschuss", + effect: "Der Anwender greift das Ziel zwei- bis fünfmal hintereinander mit Schuppen-Geschossen an. Erhöht die eigene Initiative, aber senkt die Verteidigung." }, "meteorBeam": { - name: "Meteor Beam", - effect: "In this two-turn attack, the user gathers space power and boosts its Sp. Atk stat, then attacks the target on the next turn." + name: "Meteorstrahl", + effect: "Der Anwender sammelt in Runde 1 kosmische Kräfte und erhöht damit seinen Spezial-Angriff, bevor er in Runde 2 das Ziel angreift." }, "shellSideArm": { - name: "Shell Side Arm", - effect: "This move inflicts physical or special damage, whichever will be more effective. This may also poison the target." + name: "Muschelwaffe", + effect: "Je nachdem, was höher ausfällt, richtet diese Attacke entweder physischen oder Spezial-Schaden an. Das Ziel wird eventuell vergiftet." }, "mistyExplosion": { - name: "Misty Explosion", - effect: "The user attacks everything around it and faints upon using this move. This move's power is increased on Misty Terrain." + name: "Nebelexplosion", + effect: "Der Anwender greift alle Pokémon im Umkreis an und wird danach kampfunfähig. Die Stärke dieser Attacke steigt, wenn ein Nebelfeld aktiv ist." }, "grassyGlide": { - name: "Grassy Glide", - effect: "Gliding on the ground, the user attacks the target. This move always goes first on Grassy Terrain." + name: "Grasrutsche", + effect: "Der Anwender rutscht über den Boden und greift das Ziel an. Ermöglicht den Erstschlag, wenn ein Grasfeld aktiv ist." }, "risingVoltage": { - name: "Rising Voltage", - effect: "The user attacks with electric voltage rising from the ground. This move's power doubles when the target is on Electric Terrain." + name: "Hochspannung", + effect: "Der Anwender greift mit aus dem Boden aufsteigender Elektrizität an. Die Stärke der Attacke wird verdoppelt, wenn beim Gegner ein Elektrofeld aktiv ist." }, "terrainPulse": { - name: "Terrain Pulse", - effect: "The user utilizes the power of the terrain to attack. This move's type and power changes depending on the terrain when it's used." + name: "Feldimpuls", + effect: "Der Anwender nutzt die Kraft des aktiven Feldes für seinen Angriff. Der Typ und die Stärke der Attacke ändern sich je nach Art des aktiven Feldes." }, "skitterSmack": { - name: "Skitter Smack", - effect: "The user skitters behind the target to attack. This also lowers the target's Sp. Atk stat." + name: "Krabbelkracher", + effect: "Der Anwender kriecht hinter das Ziel, greift es an und senkt dabei dessen Spezial-Angriff." }, "burningJealousy": { - name: "Burning Jealousy", - effect: "The user attacks with energy from jealousy. This leaves all opposing Pokémon that have had their stats boosted during the turn with a burn." + name: "Neidflammen", + effect: "Der Anwender greift mit der Energie seines Neids an und fügt allen gegnerischen Pokémon, deren Statuswerte in dieser Runde erhöht wurden, Verbrennungen zu." }, "lashOut": { - name: "Lash Out", - effect: "The user lashes out to vent its frustration toward the target. If the user's stats were lowered during this turn, the power of this move is doubled." + name: "Frustventil", + effect: "Der Anwender entlädt seinen Frust in einem Angriff. Die Stärke der Attacke wird verdoppelt, wenn seine Statuswerte in dieser Runde gesenkt wurden." }, "poltergeist": { name: "Poltergeist", - effect: "The user attacks the target by controlling the target's item. The move fails if the target doesn't have an item." + effect: "Der Anwender greift das Ziel mit dessen getragenem Item an. Die Attacke schlägt fehl, wenn das Ziel kein Item trägt." }, "corrosiveGas": { - name: "Corrosive Gas", - effect: "The user surrounds everything around it with highly acidic gas and melts away items they hold." + name: "Korrosionsgas", + effect: "Der Anwender greift alle Pokémon im Umkreis mit einem ätzenden Gas an. Getragene Items werden dadurch zersetzt." }, "coaching": { name: "Coaching", - effect: "The user properly coaches its ally Pokémon, boosting their Attack and Defense stats." + effect: "Der Anwender sorgt durch geschickte Anweisungen dafür, dass der Angriff und die Verteidigung seiner Mitstreiter steigen." }, "flipTurn": { - name: "Flip Turn", - effect: "After making its attack, the user rushes back to switch places with a party Pokémon in waiting." + name: "Rollwende", + effect: "Nach der Attacke eilt der Anwender zurück und tauscht den Platz mit einem anderen Pokémon." }, "tripleAxel": { - name: "Triple Axel", - effect: "A consecutive three-kick attack that becomes more powerful with each successful hit." + name: "Dreifach-Axel", + effect: "Tritt das Ziel ein- bis dreimal nacheinander. Die Härte der Tritte nimmt von Treffer zu Treffer zu." }, "dualWingbeat": { - name: "Dual Wingbeat", - effect: "The user slams the target with its wings. The target is hit twice in a row." + name: "Doppelflügel", + effect: "Der Anwender trifft das Ziel zweimal hintereinander mit seinen Flügeln und fügt ihm so Schaden zu." }, "scorchingSands": { - name: "Scorching Sands", - effect: "The user throws scorching sand at the target to attack. This may also leave the target with a burn." + name: "Brandsand", + effect: "Der Anwender greift das Ziel mit brennend heißem Sand an und fügt ihm eventuell Verbrennungen zu." }, "jungleHealing": { - name: "Jungle Healing", - effect: "The user becomes one with the jungle, restoring HP and healing any status conditions of itself and its ally Pokémon in battle." + name: "Dschungelheilung", + effect: "Der Anwender wird eins mit dem Dschungel und heilt bei sich und seinen am Kampf beteiligten Mitstreitern KP und hebt jegliche Statusprobleme auf." }, "wickedBlow": { - name: "Wicked Blow", - effect: "The user, having mastered the Dark style, strikes the target with a fierce blow. This attack always results in a critical hit." + name: "Finstertreffer", + effect: "Der Anwender hat den Stil des Unlichts gemeistert und führt einen fokussierten, harten Schlag mit Volltreffergarantie aus." }, "surgingStrikes": { - name: "Surging Strikes", - effect: "The user, having mastered the Water style, strikes the target with a flowing motion three times in a row. This attack always results in a critical hit." + name: "Trefferschwall", + effect: "Der Anwender hat den Stil des Wassers gemeistert und führt mit fließenden Bewegungen drei Angriffe in Folge mit Volltreffergarantie aus." }, "thunderCage": { - name: "Thunder Cage", - effect: "The user traps the target in a cage of sparking electricity for four to five turns." + name: "Blitzgefängnis", + effect: "Das Ziel wird für vier bis fünf Runden in einem elektrischen Käfig gefangen." }, "dragonEnergy": { - name: "Dragon Energy", - effect: "Converting its life-force into power, the user attacks opposing Pokémon. The lower the user's HP, the lower the move's power." + name: "Drachenkräfte", + effect: "Der Anwender wandelt seine Lebenskraft in Energie um und greift gegnerische Pokémon an. Je höher seine KP sind, desto mehr Schaden wird angerichtet." }, "freezingGlare": { - name: "Freezing Glare", - effect: "The user shoots its psychic power from its eyes to attack. This may also leave the target frozen." + name: "Eisiger Blick", + effect: "Der Anwender greift das Ziel mit Psycho-Kräften an, die er aus seinen Augen abschießt. Das Ziel friert eventuell ein." }, "fieryWrath": { - name: "Fiery Wrath", - effect: "The user transforms its wrath into a fire-like aura to attack. This may also make opposing Pokémon flinch." + name: "Brennender Zorn", + effect: "Der Anwender wandelt seinen Zorn in eine flammende Aura um und greift damit gegnerische Pokémon an. Diese schrecken eventuell zurück." }, "thunderousKick": { - name: "Thunderous Kick", - effect: "The user overwhelms the target with lightning-like movement before delivering a kick. This also lowers the target's Defense stat." + name: "Donnernder Tritt", + effect: "Der Anwender bringt das Ziel mit blitzschnellen Bewegungen durcheinander und tritt dann zu. Senkt die Verteidigung des Zieles." }, "glacialLance": { - name: "Glacial Lance", - effect: "The user attacks by hurling a blizzard-cloaked icicle lance at opposing Pokémon." + name: "Blizzardlanze", + effect: "Der Anwender wirft eine in einen Blizzard gehüllte Lanze aus Eis auf gegnerische Pokémon." }, "astralBarrage": { - name: "Astral Barrage", - effect: "The user attacks by sending a frightful amount of small ghosts at opposing Pokémon." + name: "Astralfragmente", + effect: "Der Anwender greift gegnerische Pokémon mit vielen kleinen Spukgestalten an." }, "eerieSpell": { - name: "Eerie Spell", - effect: "The user attacks with its tremendous psychic power. This also removes 3 PP from the target's last move." + name: "Schauderspruch", + effect: "Der Anwender greift mit gewaltigen Psycho-Kräften an. Die AP der letzten Attacke des Zieles werden um 3 Punkte gesenkt." }, "direClaw": { name: "Dire Claw", From 2b4dc9a4f05a872330a4a82f4c02794b426d3ac3 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Sun, 5 May 2024 23:02:52 -0500 Subject: [PATCH 05/38] Fixes Struggle Softlock (#531) * Fixes Struggle Softlock Fixed an issue where moves marked as (N) would prevent you from being able to Struggle. Also fixes messaging so that a message shows when you are out of PP, Disabled, or trying to use an unimplemented move consistently. * Update phases.ts --- src/field/pokemon.ts | 2 +- src/locales/de/battle.ts | 1 + src/locales/en/battle.ts | 1 + src/locales/es/battle.ts | 1 + src/locales/fr/battle.ts | 1 + src/locales/it/battle.ts | 1 + src/phases.ts | 38 ++++++++++++++++++-------------------- 7 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index b20096513ef..1237f7bb55f 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3172,7 +3172,7 @@ export class PokemonMove { isUsable(pokemon: Pokemon, ignorePp?: boolean): boolean { if (this.moveId && pokemon.summonData?.disabledMove === this.moveId) return false; - return ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1; + return (ignorePp || this.ppUsed < this.getMovePp() || this.getMove().pp === -1) && !this.getMove().name.endsWith(' (N)'); } getMove(): Move { diff --git a/src/locales/de/battle.ts b/src/locales/de/battle.ts index 61191a1165a..b48aa1129b2 100644 --- a/src/locales/de/battle.ts +++ b/src/locales/de/battle.ts @@ -33,6 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.", "levelCapUp": "Das Levellimit\nhat sich zu {{levelCap}} erhöht!", "moveNotImplemented": "{{moveName}} ist noch nicht implementiert und kann nicht ausgewählt werden.", + "moveNoPP": "There's no PP left for\nthis move!", "moveDisabled": "{{moveName}} ist deaktiviert!", "noPokeballForce": "Eine unsichtbare Kraft\nverhindert die Nutzung von Pokébällen.", "noPokeballTrainer": "Du kannst das Pokémon\neines anderen Trainers nicht fangen!", diff --git a/src/locales/en/battle.ts b/src/locales/en/battle.ts index 599672a1b19..e307a3a524a 100644 --- a/src/locales/en/battle.ts +++ b/src/locales/en/battle.ts @@ -33,6 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.", "levelCapUp": "The level cap\nhas increased to {{levelCap}}!", "moveNotImplemented": "{{moveName}} is not yet implemented and cannot be selected.", + "moveNoPP": "There's no PP left for\nthis move!", "moveDisabled": "{{moveName}} is disabled!", "noPokeballForce": "An unseen force\nprevents using Poké Balls.", "noPokeballTrainer": "You can't catch\nanother trainer's Pokémon!", diff --git a/src/locales/es/battle.ts b/src/locales/es/battle.ts index 2d7087d6cba..f4bf22bb9e4 100644 --- a/src/locales/es/battle.ts +++ b/src/locales/es/battle.ts @@ -33,6 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} ha olvidado cómo utilizar {{moveName}}.", "levelCapUp": "¡Se ha incrementado el\nnivel máximo a {{levelCap}}!", "moveNotImplemented": "{{moveName}} aún no está implementado y no se puede seleccionar.", + "moveNoPP": "There's no PP left for\nthis move!", "moveDisabled": "!No puede usar {{moveName}} porque ha sido anulado!", "noPokeballForce": "Una fuerza misteriosa\nte impide usar Poké Balls.", "noPokeballTrainer": "¡No puedes atrapar a los\nPokémon de los demás!", diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index a4abf5239e3..2167ddd31ef 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -33,6 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} oublie comment\nutiliser {{moveName}}.", "levelCapUp": "La limite de niveau\na été augmentée à {{levelCap}} !", "moveNotImplemented": "{{moveName}} n’est pas encore implémenté et ne peut pas être sélectionné.", + "moveNoPP": "There's no PP left for\nthis move!", "moveDisabled": "{{moveName}} est sous entrave !", "noPokeballForce": "Une force mystérieuse\nempêche l’utilisation des Poké Balls.", "noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !", diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts index 52a4ee66ccf..4b0afae1248 100644 --- a/src/locales/it/battle.ts +++ b/src/locales/it/battle.ts @@ -33,6 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.", "levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!", "moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.", + "moveNoPP": "There's no PP left for\nthis move!", "moveDisabled": "{{moveName}} è disabilitata!", "noPokeballForce": "Una forza misteriosa\nimpedisce l'uso dell Poké Ball.", "noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!", diff --git a/src/phases.ts b/src/phases.ts index 751cac166bf..fc6af354a2d 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -1680,21 +1680,13 @@ export class CommandPhase extends FieldPhase { switch (command) { case Command.FIGHT: let useStruggle = false; - if (cursor === -1 || playerPokemon.trySelectMove(cursor, args[0] as boolean) || (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length)) { + if (cursor === -1 || + playerPokemon.trySelectMove(cursor, args[0] as boolean) || + (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length)) { const moveId = !useStruggle ? cursor > -1 ? playerPokemon.getMoveset()[cursor].moveId : Moves.NONE : Moves.STRUGGLE; const turnCommand: TurnCommand = { command: Command.FIGHT, cursor: cursor, move: { move: moveId, targets: [], ignorePP: args[0] }, args: args }; const moveTargets: MoveTargetSet = args.length < 3 ? getMoveTargets(playerPokemon, moveId) : args[2]; - if (moveId) { - const move = playerPokemon.getMoveset()[cursor]; - if (move.getName().endsWith(' (N)')) { - this.scene.ui.setMode(Mode.MESSAGE); - this.scene.ui.showText(i18next.t('battle:moveNotImplemented', { moveName: move.getName().slice(0, -4) }), null, () => { - this.scene.ui.clearText(); - this.scene.ui.setMode(Mode.FIGHT, this.fieldIndex); - }, null, true); - return; - } - } else + if (!moveId) turnCommand.targets = [ this.fieldIndex ]; console.log(moveTargets, playerPokemon.name); if (moveTargets.targets.length <= 1 || moveTargets.multiple) @@ -1705,15 +1697,21 @@ export class CommandPhase extends FieldPhase { this.scene.unshiftPhase(new SelectTargetPhase(this.scene, this.fieldIndex)); this.scene.currentBattle.turnCommands[this.fieldIndex] = turnCommand; success = true; - } else if (cursor < playerPokemon.getMoveset().length) { + } + else if (cursor < playerPokemon.getMoveset().length) { const move = playerPokemon.getMoveset()[cursor]; - if (playerPokemon.summonData.disabledMove === move.moveId) { - this.scene.ui.setMode(Mode.MESSAGE); - this.scene.ui.showText(i18next.t('battle:moveDisabled', { moveName: move.getName() }), null, () => { - this.scene.ui.clearText(); - this.scene.ui.setMode(Mode.FIGHT, this.fieldIndex); - }, null, true); - } + this.scene.ui.setMode(Mode.MESSAGE); + + // Decides between a Disabled, Not Implemented, or No PP translation message + const errorMessage = + playerPokemon.summonData.disabledMove === move.moveId ? 'battle:moveDisabled' : + move.getName().endsWith(' (N)') ? 'battle:moveNotImplemented' : 'battle:moveNoPP'; + const moveName = move.getName().replace(' (N)', ''); // Trims off the indicator + + this.scene.ui.showText(i18next.t(errorMessage, { moveName: moveName }), null, () => { + this.scene.ui.clearText(); + this.scene.ui.setMode(Mode.FIGHT, this.fieldIndex); + }, null, true); } break; case Command.BALL: From 6016243caf003cac79c1072fcb45d7d6a3a98cc1 Mon Sep 17 00:00:00 2001 From: Matthew Ross Date: Sun, 5 May 2024 21:15:00 -0700 Subject: [PATCH 06/38] Lum berry should cure status and confusion if possible --- src/data/berry.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/berry.ts b/src/data/berry.ts index 1228bb54904..96b50caa932 100644 --- a/src/data/berry.ts +++ b/src/data/berry.ts @@ -114,7 +114,8 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc { pokemon.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectHealText(pokemon.status.effect))); pokemon.resetStatus(); pokemon.updateInfo(); - } else if (pokemon.getTag(BattlerTagType.CONFUSED)) + } + if (pokemon.getTag(BattlerTagType.CONFUSED)) pokemon.lapseTag(BattlerTagType.CONFUSED); }; case BerryType.LIECHI: From bc8cb51dc141ac125b187cf9bfaed7ed891828d4 Mon Sep 17 00:00:00 2001 From: Jeremy B Date: Mon, 6 May 2024 00:27:56 -0500 Subject: [PATCH 07/38] Add Scrappy ability handling (#473) * partially implement scrappy * add minds eye handling also * remove unimplemented from minds eye --------- Co-authored-by: jbastyr Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com> --- src/data/ability.ts | 47 +++++++++++++++++++++++++++++++------------- src/data/move.ts | 12 +++++------ src/field/pokemon.ts | 27 ++++++++++++++++--------- 3 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index eec1240e1d3..c21b88832da 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -426,7 +426,7 @@ export class NonSuperEffectiveImmunityAbAttr extends TypeImmunityAbAttr { } applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean { - if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type) < 2) { + if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type, attacker) < 2) { cancelled.value = true; (args[0] as Utils.NumberHolder).value = 0; return true; @@ -1794,7 +1794,7 @@ function getAnticipationCondition(): AbAttrCondition { for (let opponent of pokemon.getOpponents()) { for (let move of opponent.moveset) { // move is super effective - if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type) >= 2) { + if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type, opponent) >= 2) { return true; } // move is a OHKO @@ -1816,7 +1816,7 @@ function getAnticipationCondition(): AbAttrCondition { Type.FIRE, Type.WATER, Type.GRASS, Type.ELECTRIC, Type.PSYCHIC, Type.ICE, Type.DRAGON, Type.DARK][iv_val]; - if (pokemon.getAttackTypeEffectiveness(type) >= 2) { + if (pokemon.getAttackTypeEffectiveness(type, opponent) >= 2) { return true; } } @@ -2472,6 +2472,25 @@ export class NoFusionAbilityAbAttr extends AbAttr { } } +export class IgnoreTypeImmunityAbAttr extends AbAttr { + defenderType: Type; + allowedMoveTypes: Type[]; + + constructor(defenderType: Type, allowedMoveTypes: Type[]) { + super(true); + this.defenderType = defenderType; + this.allowedMoveTypes = allowedMoveTypes; + } + + apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean { + if (this.defenderType !== (args[1] as Type)) { + return false; + } + + return this.allowedMoveTypes.some(type => type === (args[0] as Type)); + } +} + function applyAbAttrsInternal(attrType: { new(...args: any[]): TAttr }, pokemon: Pokemon, applyFunc: AbAttrApplyFunc, args: any[], isAsync: boolean = false, showAbilityInstant: boolean = false, quiet: boolean = false, passive: boolean = false): Promise { return new Promise(resolve => { @@ -2973,15 +2992,15 @@ export function initAbilities() { .attr(IgnoreOpponentStatChangesAbAttr) .ignorable(), new Ability(Abilities.TINTED_LENS, 4) - .attr(MovePowerBoostAbAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type) <= 0.5, 2), + .attr(MovePowerBoostAbAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) <= 0.5, 2), new Ability(Abilities.FILTER, 4) - .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type) >= 2, 0.75) + .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2, 0.75) .ignorable(), new Ability(Abilities.SLOW_START, 4) .attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.SLOW_START, 5), - new Ability(Abilities.SCRAPPY, 4) - .attr(IntimidateImmunityAbAttr) - .partial(), + new Ability(Abilities.SCRAPPY, 4) + .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [Type.NORMAL, Type.FIGHTING]) + .attr(IntimidateImmunityAbAttr), new Ability(Abilities.STORM_DRAIN, 4) .attr(RedirectTypeMoveAbAttr, Type.WATER) .attr(TypeImmunityStatChangeAbAttr, Type.WATER, BattleStat.SPATK, 1) @@ -2990,7 +3009,7 @@ export function initAbilities() { .attr(BlockWeatherDamageAttr, WeatherType.HAIL) .attr(PostWeatherLapseHealAbAttr, 1, WeatherType.HAIL, WeatherType.SNOW), new Ability(Abilities.SOLID_ROCK, 4) - .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type) >= 2, 0.75) + .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2, 0.75) .ignorable(), new Ability(Abilities.SNOW_WARNING, 4) .attr(PostSummonWeatherChangeAbAttr, WeatherType.SNOW) @@ -3258,7 +3277,7 @@ export function initAbilities() { .attr(UnsuppressableAbilityAbAttr) .attr(NoFusionAbilityAbAttr), new Ability(Abilities.DISGUISE, 7) - .attr(PreDefendMovePowerToOneAbAttr, (target, user, move) => target.formIndex == 0 && target.getAttackTypeEffectiveness(move.type) > 0) + .attr(PreDefendMovePowerToOneAbAttr, (target, user, move) => target.formIndex == 0 && target.getAttackTypeEffectiveness(move.type, user) > 0) .attr(PostSummonFormChangeAbAttr, p => p.battleData.hitCount === 0 ? 0 : 1) .attr(PostBattleInitFormChangeAbAttr, p => p.battleData.hitCount === 0 ? 0 : 1) .attr(PostDefendFormChangeAbAttr, p => p.battleData.hitCount === 0 ? 0 : 1) @@ -3356,9 +3375,9 @@ export function initAbilities() { new Ability(Abilities.SHADOW_SHIELD, 7) .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getHpRatio() === 1, 0.5), new Ability(Abilities.PRISM_ARMOR, 7) - .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type) >= 2, 0.75), + .attr(ReceivedMoveDamageMultiplierAbAttr,(target, user, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2, 0.75), new Ability(Abilities.NEUROFORCE, 7) - .attr(MovePowerBoostAbAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type) >= 2, 1.25), + .attr(MovePowerBoostAbAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2, 1.25), new Ability(Abilities.INTREPID_SWORD, 8) .attr(PostSummonStatChangeAbAttr, BattleStat.ATK, 1, true), new Ability(Abilities.DAUNTLESS_SHIELD, 8) @@ -3567,8 +3586,8 @@ export function initAbilities() { .attr(MoveAbilityBypassAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS) .partial(), new Ability(Abilities.MINDS_EYE, 9) - .ignorable() - .unimplemented(), + .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [Type.NORMAL, Type.FIGHTING]) + .ignorable(), // TODO: evasiveness bypass should not be ignored, but accuracy immunity should new Ability(Abilities.SUPERSWEET_SYRUP, 9) .unimplemented(), new Ability(Abilities.HOSPITALITY, 9) diff --git a/src/data/move.ts b/src/data/move.ts index 653ffc93c0a..afad81d4807 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -367,7 +367,7 @@ export class AttackMove extends Move { let attackScore = 0; - const effectiveness = target.getAttackTypeEffectiveness(this.type); + const effectiveness = target.getAttackTypeEffectiveness(this.type, user); attackScore = Math.pow(effectiveness - 1, 2) * effectiveness < 1 ? -2 : 2; if (attackScore) { if (this.category === MoveCategory.PHYSICAL) { @@ -738,7 +738,7 @@ export class SacrificialAttr extends MoveEffectAttr { getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer { if (user.isBoss()) return -20; - return Math.ceil(((1 - user.getHpRatio()) * 10 - 10) * (target.getAttackTypeEffectiveness(move.type) - 0.5)); + return Math.ceil(((1 - user.getHpRatio()) * 10 - 10) * (target.getAttackTypeEffectiveness(move.type, user) - 0.5)); } } @@ -776,7 +776,7 @@ export class HalfSacrificialAttr extends MoveEffectAttr { getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer { if (user.isBoss()) return -10; - return Math.ceil(((1 - user.getHpRatio()/2) * 10 - 10) * (target.getAttackTypeEffectiveness(move.type) - 0.5)); + return Math.ceil(((1 - user.getHpRatio()/2) * 10 - 10) * (target.getAttackTypeEffectiveness(move.type, user) - 0.5)); } } @@ -2476,7 +2476,7 @@ export class WaterSuperEffectTypeMultiplierAttr extends VariableMoveTypeMultipli export class FlyingTypeMultiplierAttr extends VariableMoveTypeMultiplierAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { const multiplier = args[0] as Utils.NumberHolder; - multiplier.value *= target.getAttackTypeEffectiveness(Type.FLYING); + multiplier.value *= target.getAttackTypeEffectiveness(Type.FLYING, user); return true; } } @@ -6453,9 +6453,9 @@ export function initMoves() { new AttackMove(Moves.RUINATION, Type.DARK, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 9) .attr(TargetHalfHpDamageAttr), new AttackMove(Moves.COLLISION_COURSE, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9) - .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type) >= 2 ? 5461/4096 : 1), + .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2 ? 5461/4096 : 1), new AttackMove(Moves.ELECTRO_DRIFT, Type.ELECTRIC, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 9) - .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type) >= 2 ? 5461/4096 : 1) + .attr(MovePowerMultiplierAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2 ? 5461/4096 : 1) .makesContact(), new SelfStatusMove(Moves.SHED_TAIL, Type.NORMAL, -1, 10, -1, 0, 9) .unimplemented(), diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 1237f7bb55f..36dc4265efc 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -27,7 +27,7 @@ import { TempBattleStat } from '../data/temp-battle-stat'; import { ArenaTagSide, WeakenMoveScreenTag, WeakenMoveTypeTag } from '../data/arena-tag'; import { ArenaTagType } from "../data/enums/arena-tag-type"; import { Biome } from "../data/enums/biome"; -import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, FieldVariableMovePowerAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, NonSuperEffectiveImmunityAbAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, VariableMoveTypeAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPostDefendAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr } from '../data/ability'; +import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, FieldVariableMovePowerAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, NonSuperEffectiveImmunityAbAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, VariableMoveTypeAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPostDefendAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr, IgnoreTypeImmunityAbAttr } from '../data/ability'; import { Abilities } from "#app/data/enums/abilities"; import PokemonData from '../system/pokemon-data'; import Battle, { BattlerIndex } from '../battle'; @@ -880,7 +880,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { getAttackMoveEffectiveness(source: Pokemon, move: PokemonMove): TypeDamageMultiplier { const typeless = !!move.getMove().getAttrs(TypelessAttr).length; - const typeMultiplier = new Utils.NumberHolder(this.getAttackTypeEffectiveness(move.getMove().type)); + const typeMultiplier = new Utils.NumberHolder(this.getAttackTypeEffectiveness(move.getMove().type, source)); const cancelled = new Utils.BooleanHolder(false); if (!typeless) applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, move, cancelled, typeMultiplier, true); @@ -889,11 +889,20 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return (!cancelled.value ? typeMultiplier.value : 0) as TypeDamageMultiplier; } - getAttackTypeEffectiveness(moveType: Type): TypeDamageMultiplier { + getAttackTypeEffectiveness(moveType: Type, source?: Pokemon): TypeDamageMultiplier { if (moveType === Type.STELLAR) return this.isTerastallized() ? 2 : 1; const types = this.getTypes(true, true); - let multiplier = getTypeDamageMultiplier(moveType, types[0]) * (types.length > 1 ? getTypeDamageMultiplier(moveType, types[1]) : 1) * (types.length > 2 ? getTypeDamageMultiplier(moveType, types[2]) : 1) as TypeDamageMultiplier; + + const ignorableImmunities = source?.getAbility()?.getAttrs(IgnoreTypeImmunityAbAttr) || []; + const cancelled = new Utils.BooleanHolder(false); + + let multiplier = types.map(defType => + ignorableImmunities.some(attr => attr.apply(source, false, cancelled, [moveType, defType])) + ? 1 + : getTypeDamageMultiplier(moveType, defType) + ).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; + // Handle strong winds lowering effectiveness of types super effective against pure flying if (this.scene.arena.weather?.weatherType === WeatherType.STRONG_WINDS && !this.scene.arena.weather.isEffectSuppressed(this.scene) && multiplier >= 2 && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2) multiplier /= 2; @@ -904,12 +913,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const types = this.getTypes(true); const enemyTypes = pokemon.getTypes(true, true); const outspeed = (this.isActive(true) ? this.getBattleStat(Stat.SPD, pokemon) : this.getStat(Stat.SPD)) <= pokemon.getBattleStat(Stat.SPD, this); - let atkScore = pokemon.getAttackTypeEffectiveness(types[0]) * (outspeed ? 1.25 : 1); - let defScore = 1 / Math.max(this.getAttackTypeEffectiveness(enemyTypes[0]), 0.25); + let atkScore = pokemon.getAttackTypeEffectiveness(types[0], this) * (outspeed ? 1.25 : 1); + let defScore = 1 / Math.max(this.getAttackTypeEffectiveness(enemyTypes[0], pokemon), 0.25); if (types.length > 1) - atkScore *= pokemon.getAttackTypeEffectiveness(types[1]); + atkScore *= pokemon.getAttackTypeEffectiveness(types[1], this); if (enemyTypes.length > 1) - defScore *= (1 / Math.max(this.getAttackTypeEffectiveness(enemyTypes[1]), 0.25)); + defScore *= (1 / Math.max(this.getAttackTypeEffectiveness(enemyTypes[1], pokemon), 0.25)); let hpDiffRatio = this.getHpRatio() + (1 - pokemon.getHpRatio()); if (outspeed) hpDiffRatio = Math.min(hpDiffRatio * 1.5, 1); @@ -1262,7 +1271,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { const cancelled = new Utils.BooleanHolder(false); const typeless = !!move.getAttrs(TypelessAttr).length; const typeMultiplier = new Utils.NumberHolder(!typeless && (moveCategory !== MoveCategory.STATUS || move.getAttrs(StatusMoveTypeImmunityAttr).find(attr => types.includes((attr as StatusMoveTypeImmunityAttr).immuneType))) - ? this.getAttackTypeEffectiveness(type) + ? this.getAttackTypeEffectiveness(type, source) : 1); applyMoveAttrs(VariableMoveTypeMultiplierAttr, source, this, move, typeMultiplier); if (typeless) From a45da8a38284424074c45d5e53c066638567f2de Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Mon, 6 May 2024 00:31:28 -0500 Subject: [PATCH 08/38] Quick egg move fixes --- src/data/egg-moves.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/egg-moves.ts b/src/data/egg-moves.ts index 6dd26a7d547..0452297797d 100644 --- a/src/data/egg-moves.ts +++ b/src/data/egg-moves.ts @@ -137,7 +137,7 @@ export const speciesEggMoves = { [Species.SEEDOT]: [ Moves.SWORDS_DANCE, Moves.GRASSY_GLIDE, Moves.KOWTOW_CLEAVE, Moves.IVY_CUDGEL ], [Species.TAILLOW]: [ Moves.SWORDS_DANCE, Moves.FACADE, Moves.DRILL_RUN, Moves.EXTREME_SPEED ], [Species.WINGULL]: [ Moves.THUNDER, Moves.FLIP_TURN, Moves.DEFOG, Moves.STEAM_ERUPTION ], - [Species.RALTS]: [ Moves.BOOMBURST, Moves.BITTER_BLADE, Moves.PSYBLADE, Moves.VICTORY_DANCE ], + [Species.RALTS]: [ Moves.BOOMBURST, Moves.BITTER_BLADE, Moves.QUIVER_DANCE, Moves.VICTORY_DANCE ], [Species.SURSKIT]: [ Moves.ROOST, Moves.FIERY_DANCE, Moves.STICKY_WEB, Moves.BLEAKWIND_STORM ], [Species.SHROOMISH]: [ Moves.ACCELEROCK, Moves.TRAILBLAZE, Moves.STORM_THROW, Moves.SAPPY_SEED ], [Species.SLAKOTH]: [ Moves.FACADE, Moves.JUMP_KICK, Moves.KNOCK_OFF, Moves.SKILL_SWAP ], @@ -346,7 +346,7 @@ export const speciesEggMoves = { [Species.PANCHAM]: [ Moves.DRAIN_PUNCH, Moves.FAKE_OUT, Moves.BULLET_PUNCH, Moves.WICKED_BLOW ], [Species.FURFROU]: [ Moves.TIDY_UP, Moves.CRUNCH, Moves.COVET, Moves.MULTI_ATTACK ], [Species.ESPURR]: [ Moves.GLARE, Moves.MOONBLAST, Moves.FLAMETHROWER, Moves.PSYSTRIKE ], - [Species.HONEDGE]: [ Moves.RECOVER, Moves.POLTERGEIST, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], + [Species.HONEDGE]: [ Moves.TACHYON_CUTTER, Moves.POLTERGEIST, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ], [Species.SPRITZEE]: [ Moves.TRICK_ROOM, Moves.FOUL_PLAY, Moves.WISH, Moves.REVIVAL_BLESSING ], [Species.SWIRLIX]: [ Moves.BELLY_DRUM, Moves.SUCKER_PUNCH, Moves.SPIRIT_BREAK, Moves.SIZZLY_SLIDE ], [Species.INKAY]: [ Moves.POWER_TRIP, Moves.STORED_POWER, Moves.RECOVER, Moves.PSYCHO_BOOST ], @@ -485,7 +485,7 @@ export const speciesEggMoves = { [Species.SMOLIV]: [ Moves.STRENGTH_SAP, Moves.EARTH_POWER, Moves.CALM_MIND, Moves.BOOMBURST ], [Species.SQUAWKABILLY]: [ Moves.PARTING_SHOT, Moves.BULK_UP, Moves.FLARE_BLITZ, Moves.HEAD_CHARGE ], [Species.NACLI]: [ Moves.BODY_PRESS, Moves.SPIKES, Moves.CURSE, Moves.DIAMOND_STORM ], - [Species.CHARCADET]: [ Moves.SACRED_SWORD, Moves.PHOTON_GEYSER, Moves.RECOVER, Moves.SPECTRAL_THIEF ], + [Species.CHARCADET]: [ Moves.SACRED_SWORD, Moves.PHOTON_GEYSER, Moves.MOONBLAST, Moves.SPECTRAL_THIEF ], [Species.TADBULB]: [ Moves.PARABOLIC_CHARGE, Moves.SCALD, Moves.EARTH_POWER, Moves.ELECTRO_SHOT ], [Species.WATTREL]: [ Moves.NASTY_PLOT, Moves.TAILWIND, Moves.HEAT_WAVE, Moves.AEROBLAST ], [Species.MASCHIFF]: [ Moves.PARTING_SHOT, Moves.KNOCK_OFF, Moves.NUZZLE, Moves.COLLISION_COURSE ], From 29b80dbed85e02e37a97123180d5fad302edd78f Mon Sep 17 00:00:00 2001 From: gericocross <32669590+gericocross@users.noreply.github.com> Date: Mon, 6 May 2024 14:44:05 +0200 Subject: [PATCH 09/38] Fixed Grafaiai animation (#547) * Longer descriptions don't stuck shorter ones anymore * Fixed Grafaiai animation --- public/images/pokemon/exp/945.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/images/pokemon/exp/945.json b/public/images/pokemon/exp/945.json index 9456e435d28..31ba1c93090 100644 --- a/public/images/pokemon/exp/945.json +++ b/public/images/pokemon/exp/945.json @@ -146,14 +146,14 @@ "spriteSourceSize": { "x": 0, "y": 0, - "w": 3, - "h": 3 + "w": 66, + "h": 55 }, "frame": { - "x": 132, - "y": 0, - "w": 3, - "h": 3 + "x": 0, + "y": 112, + "w": 66, + "h": 55 } }, { From f92b563baaa9baecde58c01654ad2bc2ab1899c5 Mon Sep 17 00:00:00 2001 From: Matthew Ross Date: Sun, 5 May 2024 22:12:10 -0700 Subject: [PATCH 10/38] Hunger switch shouldn't trigger if terastallized --- src/data/ability.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index c21b88832da..07aecbdcc91 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3453,7 +3453,8 @@ export function initAbilities() { .attr(UncopiableAbilityAbAttr) .attr(UnswappableAbilityAbAttr) .attr(NoTransformAbilityAbAttr) - .attr(NoFusionAbilityAbAttr), + .attr(NoFusionAbilityAbAttr) + .condition((pokemon) => !pokemon.isTerastallized()), new Ability(Abilities.QUICK_DRAW, 8) .unimplemented(), new Ability(Abilities.UNSEEN_FIST, 8) From e3c1d08b378aa21417650223b85f5342959da578 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Mon, 6 May 2024 11:50:50 +0200 Subject: [PATCH 11/38] Update French battle.ts + typo --- src/locales/fr/battle.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index 2167ddd31ef..56ab692159d 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -23,7 +23,7 @@ export const battle: SimpleTranslationEntries = { "attackHitsCount": `Touché {{count}} fois !`, "expGain": "{{pokemonName}} gagne\n{{exp}} Points d’Exp !", "levelUp": "{{pokemonName}} monte au\nN. {{level}} !", - "learnMove": "{{pokemonName}} apprend \n{{moveName}} !", + "learnMove": "{{pokemonName}} apprend\n{{moveName}} !", "learnMovePrompt": "{{pokemonName}} veut apprendre\n{{moveName}}.", "learnMoveLimitReached": "Cependant, {{pokemonName}} connait\ndéjà quatre capacités.", "learnMoveReplaceQuestion": "Voulez-vous oublier une capacité\net la remplacer par {{moveName}} ?", @@ -33,7 +33,7 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} oublie comment\nutiliser {{moveName}}.", "levelCapUp": "La limite de niveau\na été augmentée à {{levelCap}} !", "moveNotImplemented": "{{moveName}} n’est pas encore implémenté et ne peut pas être sélectionné.", - "moveNoPP": "There's no PP left for\nthis move!", + "moveNoPP": "Il n’y a plus de PP pour\ncette capacité !", "moveDisabled": "{{moveName}} est sous entrave !", "noPokeballForce": "Une force mystérieuse\nempêche l’utilisation des Poké Balls.", "noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !", From 80b6001c777ca95721b6bf421034086fa2412cd5 Mon Sep 17 00:00:00 2001 From: lucfd <83493765+lucfd@users.noreply.github.com> Date: Mon, 6 May 2024 11:24:37 -0400 Subject: [PATCH 12/38] Implemented Revelation Dance (#166) * implemented Revelation Dance * fixed steam engine activating on all water moves * implemented typeless * stellar handling for revelation dance * removed testing lines * changed to UNKNOWN implementation * removed UNKNOWN RGB * removed print debug + unnecessary logic * simplified test condition further --- src/data/move.ts | 23 ++++++++++++++++++++++- src/data/type.ts | 2 +- src/field/pokemon.ts | 9 ++++++++- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index afad81d4807..a4ca1e422dc 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2440,6 +2440,27 @@ export class HiddenPowerTypeAttr extends VariableMoveTypeAttr { } } +export class MatchUserTypeAttr extends VariableMoveTypeAttr { + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + const type = (args[0] as Utils.IntegerHolder); + + const userTypes = user.getTypes(true); + + if(userTypes.includes(Type.STELLAR)) { // will not change to stellar type + const nonTeraTypes = user.getTypes(); + type.value = nonTeraTypes[0]; + return true; + } + else if (userTypes.length > 0) { + type.value = userTypes[0]; + return true; + } + else + return false; + + } +} + export class VariableMoveTypeMultiplierAttr extends MoveAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { return false; @@ -5796,7 +5817,7 @@ export function initMoves() { .unimplemented(), new AttackMove(Moves.REVELATION_DANCE, Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7) .danceMove() - .partial(), + .attr(MatchUserTypeAttr), new AttackMove(Moves.CORE_ENFORCER, Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 7) .target(MoveTarget.ALL_NEAR_ENEMIES) .partial(), diff --git a/src/data/type.ts b/src/data/type.ts index 14f9f932a2a..35c56aecd32 100644 --- a/src/data/type.ts +++ b/src/data/type.ts @@ -543,4 +543,4 @@ export function getTypeRgb(type: Type): [ integer, integer, integer ] { default: return [ 0, 0, 0 ]; } -} \ No newline at end of file +} diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 36dc4265efc..2242b1ee694 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -778,9 +778,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { types.splice(flyingIndex, 1); } - if (!types.length) + if (!types.length) // become UNKNOWN if no types are present types.push(Type.UNKNOWN); + if (types.length > 1 && types.includes(Type.UNKNOWN)) { // remove UNKNOWN if other types are present + const index = types.indexOf(Type.UNKNOWN); + if (index !== -1) { + types.splice(index, 1); + } + } + return types; } From f22c25d37683d053db83769d458aa67b97e07eac Mon Sep 17 00:00:00 2001 From: Viet Nguyen Date: Mon, 6 May 2024 11:30:23 -0400 Subject: [PATCH 13/38] add unit test for util function padInt (#175) Co-authored-by: Viet Nguyen --- src/utils.test.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/utils.test.ts b/src/utils.test.ts index 8dc46371abd..22ccbfc6320 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -1,5 +1,5 @@ import { expect, describe, it } from "vitest"; -import { randomString } from "./utils"; +import { randomString, padInt } from "./utils"; import Phaser from "phaser"; @@ -19,4 +19,26 @@ describe("utils", () => { expect(str1).toBe(str2); }); }); + + describe("padInt", () => { + it("should return a string", () => { + const result = padInt(1, 10); + expect(typeof result).toBe('string'); + }); + + it("should return a padded result with default padWith", () => { + const result = padInt(1, 3); + expect(result).toBe('001'); + }); + + it("should return a padded result using a custom padWith", () => { + const result = padInt(1, 10, 'yes') + expect(result).toBe('yesyesyes1'); + }); + + it("should return inputted value when zero length is entered", () => { + const result = padInt(1, 0); + expect(result).toBe('1') + }) + }); }); From 78ae7c9f0a647d35f3ecc5ae2ed400efc3318ece Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+TempsRay@users.noreply.github.com> Date: Mon, 6 May 2024 12:00:51 -0400 Subject: [PATCH 14/38] Minor TM learn fixes and make glacial lance non contact (#553) * Make curse target * Minor TM learn set changes and make glacial lance non contact --- src/data/move.ts | 3 ++- src/data/tms.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index a4ca1e422dc..0b7b1e33c62 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -6203,7 +6203,8 @@ export function initMoves() { new AttackMove(Moves.THUNDEROUS_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 100, 0, 8) .attr(StatChangeAttr, BattleStat.DEF, -1), new AttackMove(Moves.GLACIAL_LANCE, Type.ICE, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8) - .target(MoveTarget.ALL_NEAR_ENEMIES), + .target(MoveTarget.ALL_NEAR_ENEMIES) + .makesContact(false), new AttackMove(Moves.ASTRAL_BARRAGE, Type.GHOST, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 8) .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.EERIE_SPELL, Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 5, 100, 0, 8) diff --git a/src/data/tms.ts b/src/data/tms.ts index 332eb2234b1..eeccd9310a3 100644 --- a/src/data/tms.ts +++ b/src/data/tms.ts @@ -51855,7 +51855,6 @@ export const tmSpecies: TmSpecies = { Species.MABOSSTIFF, Species.BOMBIRDIER, Species.WALKING_WAKE, - Species.PIKACHU, Species.ALOLA_SANDSHREW, Species.ALOLA_SANDSLASH, Species.ALOLA_DIGLETT, @@ -60029,6 +60028,7 @@ export const tmSpecies: TmSpecies = { Species.SHARPEDO, Species.SEVIPER, Species.SALAMENCE, + Species.METAGROSS, Species.SHINX, Species.LUXIO, Species.LUXRAY, From bde7620ac0dd531ee34f2d699967630716231b8e Mon Sep 17 00:00:00 2001 From: ArceUseless <36188730+ArceUseless@users.noreply.github.com> Date: Mon, 6 May 2024 18:02:45 +0200 Subject: [PATCH 15/38] New spanish translations and literals for all langs (#552) * Spanish translations for intro messages and some menus. Added Empty (save file) to lang files * Spanish translations + new literals in all langs * Spanish translations, new literals for all langs (starter-select-ui-handler) * Two translations * Resolving accidental overwrite in french menu.ts * New starter-select-ui-handler lang files for all langs --------- Co-authored-by: rnicar --- src/locales/de/menu.ts | 1 - src/locales/de/starter-select-ui-handler.ts | 32 ++++++++++++ src/locales/en/menu.ts | 1 - src/locales/en/starter-select-ui-handler.ts | 32 ++++++++++++ src/locales/es/menu.ts | 17 ++++++- src/locales/es/pokemon-stat.ts | 8 +-- src/locales/es/starter-select-ui-handler.ts | 32 ++++++++++++ src/locales/es/tutorial.ts | 4 +- src/locales/fr/menu.ts | 1 - src/locales/fr/starter-select-ui-handler.ts | 32 ++++++++++++ src/locales/it/menu.ts | 1 - src/locales/it/starter-select-ui-handler.ts | 32 ++++++++++++ src/plugins/i18n.ts | 12 +++++ src/ui/starter-select-ui-handler.ts | 54 ++++++++++----------- 14 files changed, 221 insertions(+), 38 deletions(-) create mode 100644 src/locales/de/starter-select-ui-handler.ts create mode 100644 src/locales/en/starter-select-ui-handler.ts create mode 100644 src/locales/es/starter-select-ui-handler.ts create mode 100644 src/locales/fr/starter-select-ui-handler.ts create mode 100644 src/locales/it/starter-select-ui-handler.ts diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index 3f86ae41a7e..aa4604f9db2 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -43,5 +43,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Empty", "yes":"Yes", "no":"No", - "confirmStartTeam":'Begin with these Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts new file mode 100644 index 00000000000..c7595cb2f95 --- /dev/null +++ b/src/locales/de/starter-select-ui-handler.ts @@ -0,0 +1,32 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The menu namespace holds most miscellaneous text that isn't directly part of the game's + * contents or directly related to Pokemon data. This includes menu navigation, settings, + * account interactions, descriptive text, etc. + */ +export const starterSelectUiHandler: SimpleTranslationEntries = { + "confirmStartTeam":'Begin with these Pokémon?', + "growthRate": "Growth Rate:", + "ability": "Ability:", + "passive": "Passive:", + "nature": "Nature:", + "eggMoves": 'Egg Moves', + "start": "Start", + "addToParty": "Add to Party", + "toggleIVs": 'Toggle IVs', + "manageMoves": 'Manage Moves', + "useCandies": 'Use Candies', + "selectMoveSwapOut": "Select a move to swap out.", + "selectMoveSwapWith": "Select a move to swap with", + "unlockPassive": "Unlock Passive", + "reduceCost": "Reduce Cost", + "cycleShiny": "R: Cycle Shiny", + "cycleForm": 'F: Cycle Form', + "cycleGender": 'G: Cycle Gender', + "cycleAbility": 'E: Cycle Ability', + "cycleNature": 'N: Cycle Nature', + "cycleVariant": 'V: Cycle Variant', + "enablePassive": "Enable Passive", + "disablePassive": "Disable Passive" +} \ No newline at end of file diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts index 887f3d87834..7a5043a98e2 100644 --- a/src/locales/en/menu.ts +++ b/src/locales/en/menu.ts @@ -43,5 +43,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Empty", "yes":"Yes", "no":"No", - "confirmStartTeam":'Begin with these Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/en/starter-select-ui-handler.ts b/src/locales/en/starter-select-ui-handler.ts new file mode 100644 index 00000000000..c7595cb2f95 --- /dev/null +++ b/src/locales/en/starter-select-ui-handler.ts @@ -0,0 +1,32 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The menu namespace holds most miscellaneous text that isn't directly part of the game's + * contents or directly related to Pokemon data. This includes menu navigation, settings, + * account interactions, descriptive text, etc. + */ +export const starterSelectUiHandler: SimpleTranslationEntries = { + "confirmStartTeam":'Begin with these Pokémon?', + "growthRate": "Growth Rate:", + "ability": "Ability:", + "passive": "Passive:", + "nature": "Nature:", + "eggMoves": 'Egg Moves', + "start": "Start", + "addToParty": "Add to Party", + "toggleIVs": 'Toggle IVs', + "manageMoves": 'Manage Moves', + "useCandies": 'Use Candies', + "selectMoveSwapOut": "Select a move to swap out.", + "selectMoveSwapWith": "Select a move to swap with", + "unlockPassive": "Unlock Passive", + "reduceCost": "Reduce Cost", + "cycleShiny": "R: Cycle Shiny", + "cycleForm": 'F: Cycle Form', + "cycleGender": 'G: Cycle Gender', + "cycleAbility": 'E: Cycle Ability', + "cycleNature": 'N: Cycle Nature', + "cycleVariant": 'V: Cycle Variant', + "enablePassive": "Enable Passive", + "disablePassive": "Disable Passive" +} \ No newline at end of file diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts index 5569c1e1668..4839630bc56 100644 --- a/src/locales/es/menu.ts +++ b/src/locales/es/menu.ts @@ -13,6 +13,22 @@ export const menu: SimpleTranslationEntries = { "newGame": "Nueva partida", "selectGameMode": "Elige un modo de juego.", "logInOrCreateAccount": "Inicia sesión o crea una cuenta para empezar. ¡No se requiere correo electrónico!", + "username": "Usuario", + "password": "Contraseña", + "login": "Iniciar Sesión", + "register": "Registrarse", + "emptyUsername": "El usuario no puede estar vacío", + "invalidLoginUsername": "El usuario no es válido", + "invalidRegisterUsername": "El usuario solo puede contener letras, números y guiones bajos", + "invalidLoginPassword": "La contraseña no es válida", + "invalidRegisterPassword": "Contraseña debe tener 6 o más caracter.", + "usernameAlreadyUsed": "El usuario ya está en uso", + "accountNonExistent": "El usuario no existe", + "unmatchingPassword": "La contraseña no coincide", + "passwordNotMatchingConfirmPassword": "Las contraseñas deben coincidir", + "confirmPassword": "Confirmar Contra.", + "registrationAgeWarning": "Al registrarte, confirmas tener 13 o más años de edad.", + "backToLogin": "Volver al Login", "failedToLoadSaveData": "No se ha podido cargar los datos guardados. Por favor, recarga la página.\nSi el fallo continúa, por favor contacta al administrador.", "sessionSuccess": "Sesión cargada con éxito.", "failedToLoadSession": "No se ha podido cargar los datos de tu sesión.\nPuede que estén corruptos.", @@ -27,5 +43,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Vacío", "yes":"Sí", "no":"No", - "confirmStartTeam":'¿Comenzar con estos Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-stat.ts b/src/locales/es/pokemon-stat.ts index 276b099bf74..514ef19891b 100644 --- a/src/locales/es/pokemon-stat.ts +++ b/src/locales/es/pokemon-stat.ts @@ -4,13 +4,13 @@ export const pokemonStat: SimpleTranslationEntries = { "HP": "PV", "HPshortened": "PV", "ATK": "Ataque", - "ATKshortened": "Ataque", + "ATKshortened": "Ata", "DEF": "Defensa", - "DEFshortened": "Defensa", + "DEFshortened": "Def", "SPATK": "At. Esp.", - "SPATKshortened": "At. Esp.", + "SPATKshortened": "AtEsp", "SPDEF": "Def. Esp.", - "SPDEFshortened": "Def. Esp.", + "SPDEFshortened": "DefEsp", "SPD": "Velocidad", "SPDshortened": "Veloc." } as const; \ No newline at end of file diff --git a/src/locales/es/starter-select-ui-handler.ts b/src/locales/es/starter-select-ui-handler.ts new file mode 100644 index 00000000000..629e2563260 --- /dev/null +++ b/src/locales/es/starter-select-ui-handler.ts @@ -0,0 +1,32 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The menu namespace holds most miscellaneous text that isn't directly part of the game's + * contents or directly related to Pokemon data. This includes menu navigation, settings, + * account interactions, descriptive text, etc. + */ +export const starterSelectUiHandler: SimpleTranslationEntries = { + "confirmStartTeam":'¿Comenzar con estos Pokémon?', + "growthRate": "Crecimiento:", + "ability": "Habilid:", + "passive": "Pasiva:", + "nature": "Natur:", + "eggMoves": "Mov. Huevo", + "start": "Iniciar", + "addToParty": "Añadir a Equipo", + "toggleIVs": "Mostrar IVs", + "manageMoves": "Gestionar Movs.", + "useCandies": "Usar Caramelos", + "selectMoveSwapOut": "Elige el movimiento que sustituir.", + "selectMoveSwapWith": "Elige el movimiento que sustituirá a", + "unlockPassive": "Añadir Pasiva", + "reduceCost": "Reducir Coste", + "cycleShiny": "R: Cambiar Shiny", + "cycleForm": 'F: Cambiar Forma', + "cycleGender": 'G: Cambiar Género', + "cycleAbility": 'E: Cambiar Habilidad', + "cycleNature": 'N: Cambiar Naturaleza', + "cycleVariant": 'V: Cambiar Variante', + "enablePassive": "Activar Pasiva", + "disablePassive": "Desactivar Pasiva" +} \ No newline at end of file diff --git a/src/locales/es/tutorial.ts b/src/locales/es/tutorial.ts index e179ca55cee..6e131f9b0c9 100644 --- a/src/locales/es/tutorial.ts +++ b/src/locales/es/tutorial.ts @@ -10,9 +10,9 @@ export const tutorial: SimpleTranslationEntries = { $ajustes de tu navegador.`, "accessMenu": `Para acceder al menú, pulsa M o Escape cuando\ntengas el control. - $El menú contiene la configuración y otras funciones.`, + $El menú contiene los ajustes y otras funciones.`, - "menu": `Desde este menú podrás acceder a la configuración. + "menu": `Desde este menú podrás acceder a los ajustes. $Podrás cambiar la velocidad del juego, el estilo de la ventana y demás. $Hay más opciones, ¡así que pruébalas todas!`, diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index 7cea2c6d306..b073bbbfbf4 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -38,5 +38,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Vide", "yes":"Oui", "no":"Non", - "confirmStartTeam":'Commencer avec ces Pokémon ?', } as const; diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts new file mode 100644 index 00000000000..f91194f0cfe --- /dev/null +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -0,0 +1,32 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The menu namespace holds most miscellaneous text that isn't directly part of the game's + * contents or directly related to Pokemon data. This includes menu navigation, settings, + * account interactions, descriptive text, etc. + */ +export const starterSelectUiHandler: SimpleTranslationEntries = { + "confirmStartTeam":'Commencer avec ces Pokémon ?', + "growthRate": "Growth Rate:", + "ability": "Ability:", + "passive": "Passive:", + "nature": "Nature:", + "eggMoves": 'Egg Moves', + "start": "Start", + "addToParty": "Add to Party", + "toggleIVs": 'Toggle IVs', + "manageMoves": 'Manage Moves', + "useCandies": 'Use Candies', + "selectMoveSwapOut": "Select a move to swap out.", + "selectMoveSwapWith": "Select a move to swap with", + "unlockPassive": "Unlock Passive", + "reduceCost": "Reduce Cost", + "cycleShiny": "R: Cycle Shiny", + "cycleForm": 'F: Cycle Form', + "cycleGender": 'G: Cycle Gender', + "cycleAbility": 'E: Cycle Ability', + "cycleNature": 'N: Cycle Nature', + "cycleVariant": 'V: Cycle Variant', + "enablePassive": "Enable Passive", + "disablePassive": "Disable Passive" +} \ No newline at end of file diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index df685cd7f49..1344b21cc53 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -43,5 +43,4 @@ export const menu: SimpleTranslationEntries = { "empty":"Vuoto", "yes":"Si", "no":"No", - "confirmStartTeam":'Vuoi iniziare con questi Pokémon?', } as const; \ No newline at end of file diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts new file mode 100644 index 00000000000..b9dc4ccacb0 --- /dev/null +++ b/src/locales/it/starter-select-ui-handler.ts @@ -0,0 +1,32 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The menu namespace holds most miscellaneous text that isn't directly part of the game's + * contents or directly related to Pokemon data. This includes menu navigation, settings, + * account interactions, descriptive text, etc. + */ +export const starterSelectUiHandler: SimpleTranslationEntries = { + "confirmStartTeam":'Vuoi iniziare con questi Pokémon?', + "growthRate": "Growth Rate:", + "ability": "Ability:", + "passive": "Passive:", + "nature": "Nature:", + "eggMoves": 'Egg Moves', + "start": "Start", + "addToParty": "Add to Party", + "toggleIVs": 'Toggle IVs', + "manageMoves": 'Manage Moves', + "useCandies": 'Use Candies', + "selectMoveSwapOut": "Select a move to swap out.", + "selectMoveSwapWith": "Select a move to swap with", + "unlockPassive": "Unlock Passive", + "reduceCost": "Reduce Cost", + "cycleShiny": "R: Cycle Shiny", + "cycleForm": 'F: Cycle Form', + "cycleGender": 'G: Cycle Gender', + "cycleAbility": 'E: Cycle Ability', + "cycleNature": 'N: Cycle Nature', + "cycleVariant": 'V: Cycle Variant', + "enablePassive": "Enable Passive", + "disablePassive": "Disable Passive" +} \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index c3a8ac536a1..8ad0711f596 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -67,6 +67,12 @@ import { tutorial as frTutorial } from '../locales/fr/tutorial'; import { tutorial as itTutorial} from '../locales/it/tutorial'; import { tutorial as deTutorial } from '../locales/de/tutorial'; +import { starterSelectUiHandler as enStarterSelectUiHandler } from '../locales/en/starter-select-ui-handler'; +import { starterSelectUiHandler as esStarterSelectUiHandler } from '../locales/es/starter-select-ui-handler'; +import { starterSelectUiHandler as frStarterSelectUiHandler } from '../locales/fr/starter-select-ui-handler'; +import { starterSelectUiHandler as itStarterSelectUiHandler} from '../locales/it/starter-select-ui-handler'; +import { starterSelectUiHandler as deStarterSelectUiHandler } from '../locales/de/starter-select-ui-handler'; + export interface SimpleTranslationEntries { [key: string]: string } @@ -136,6 +142,7 @@ export function initI18n(): void { commandUiHandler: enCommandUiHandler, fightUiHandler: enFightUiHandler, tutorial: enTutorial, + starterSelectUiHandler: enStarterSelectUiHandler }, es: { menu: esMenu, @@ -149,6 +156,7 @@ export function initI18n(): void { commandUiHandler: esCommandUiHandler, fightUiHandler: esFightUiHandler, tutorial: esTutorial, + starterSelectUiHandler: esStarterSelectUiHandler }, fr: { menu: frMenu, @@ -162,6 +170,7 @@ export function initI18n(): void { commandUiHandler: frCommandUiHandler, fightUiHandler: frFightUiHandler, tutorial: frTutorial, + starterSelectUiHandler: frStarterSelectUiHandler }, it: { menu: itMenu, @@ -175,6 +184,7 @@ export function initI18n(): void { commandUiHandler: itCommandUiHandler, fightUiHandler: itFightUiHandler, tutorial: itTutorial, + starterSelectUiHandler: itStarterSelectUiHandler }, de: { menu: deMenu, @@ -188,6 +198,7 @@ export function initI18n(): void { commandUiHandler: deCommandUiHandler, fightUiHandler: deFightUiHandler, tutorial: deTutorial, + starterSelectUiHandler: deStarterSelectUiHandler } }, }); @@ -208,6 +219,7 @@ declare module 'i18next' { commandUiHandler: typeof enCommandUiHandler; fightUiHandler: typeof enFightUiHandler; tutorial: typeof enTutorial; + starterSelectUiHandler: typeof enStarterSelectUiHandler; }; } } diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index 7fe39d2fe2b..aa97b655a6b 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -227,7 +227,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonNameText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonNameText); - this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, 'Growth Rate:', TextStyle.SUMMARY_ALT, { fontSize: '36px' }); + this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, i18next.t("starterSelectUiHandler:growthRate"), TextStyle.SUMMARY_ALT, { fontSize: '36px' }); this.pokemonGrowthRateLabelText.setOrigin(0, 0); this.pokemonGrowthRateLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonGrowthRateLabelText); @@ -244,7 +244,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonUncaughtText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonUncaughtText); - this.pokemonAbilityLabelText = addTextObject(this.scene, 6, 127, 'Ability:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); + this.pokemonAbilityLabelText = addTextObject(this.scene, 6, 127, i18next.t("starterSelectUiHandler:ability"), TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonAbilityLabelText.setOrigin(0, 0); this.pokemonAbilityLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonAbilityLabelText); @@ -253,7 +253,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonAbilityText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonAbilityText); - this.pokemonPassiveLabelText = addTextObject(this.scene, 6, 136, 'Passive:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); + this.pokemonPassiveLabelText = addTextObject(this.scene, 6, 136, i18next.t("starterSelectUiHandler:passive"), TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonPassiveLabelText.setOrigin(0, 0); this.pokemonPassiveLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonPassiveLabelText); @@ -262,7 +262,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonPassiveText.setOrigin(0, 0); this.starterSelectContainer.add(this.pokemonPassiveText); - this.pokemonNatureLabelText = addTextObject(this.scene, 6, 145, 'Nature:', TextStyle.SUMMARY_ALT, { fontSize: '56px' }); + this.pokemonNatureLabelText = addTextObject(this.scene, 6, 145, i18next.t("starterSelectUiHandler:nature"), TextStyle.SUMMARY_ALT, { fontSize: '56px' }); this.pokemonNatureLabelText.setOrigin(0, 0); this.pokemonNatureLabelText.setVisible(false); this.starterSelectContainer.add(this.pokemonNatureLabelText); @@ -327,7 +327,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.valueLimitLabel.setOrigin(0.5, 0); this.starterSelectContainer.add(this.valueLimitLabel); - const startLabel = addTextObject(this.scene, 124, 162, 'Start', TextStyle.TOOLTIP_CONTENT); + const startLabel = addTextObject(this.scene, 124, 162, i18next.t("starterSelectUiHandler:start"), TextStyle.TOOLTIP_CONTENT); startLabel.setOrigin(0.5, 0); this.starterSelectContainer.add(startLabel); @@ -512,7 +512,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.pokemonEggMovesContainer = this.scene.add.container(102, 85); this.pokemonEggMovesContainer.setScale(0.375); - const eggMovesLabel = addTextObject(this.scene, -46, 0, 'Egg Moves', TextStyle.WINDOW_ALT); + const eggMovesLabel = addTextObject(this.scene, -46, 0, i18next.t("starterSelectUiHandler:eggMoves"), TextStyle.WINDOW_ALT); eggMovesLabel.setOrigin(0.5, 0); this.pokemonEggMovesContainer.add(eggMovesLabel); @@ -734,7 +734,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { else if (this.starterCursors.length < 6) { const options = [ { - label: 'Add to Party', + label: i18next.t("starterSelectUiHandler:addToParty"), handler: () => { ui.setMode(Mode.STARTER_SELECT); let isDupe = false; @@ -771,7 +771,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { overrideSound: true }, { - label: 'Toggle IVs', + label: i18next.t("starterSelectUiHandler:toggleIVs"), handler: () => { this.toggleStatsMode(); ui.setMode(Mode.STARTER_SELECT); @@ -782,14 +782,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (this.speciesStarterMoves.length > 1) { const showSwapOptions = (moveset: StarterMoveset) => { ui.setMode(Mode.STARTER_SELECT).then(() => { - ui.showText('Select a move to swap out.', null, () => { + ui.showText(i18next.t("starterSelectUiHandler:selectMoveSwapOut"), null, () => { ui.setModeWithoutClear(Mode.OPTION_SELECT, { options: moveset.map((m: Moves, i: number) => { const option: OptionSelectItem = { label: allMoves[m].name, handler: () => { ui.setMode(Mode.STARTER_SELECT).then(() => { - ui.showText(`Select a move to swap with ${allMoves[m].name}.`, null, () => { + ui.showText(`${i18next.t("starterSelectUiHandler:selectMoveSwapWith")} ${allMoves[m].name}.`, null, () => { ui.setModeWithoutClear(Mode.OPTION_SELECT, { options: this.speciesStarterMoves.filter((sm: Moves) => sm !== m).map(sm => { // make an option for each available starter move @@ -803,7 +803,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }; return option; }).concat({ - label: 'Cancel', + label: i18next.t("menu:cancel"), handler: () => { showSwapOptions(this.starterMoveset); return true; @@ -819,7 +819,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }; return option; }).concat({ - label: 'Cancel', + label: i18next.t("menu:cancel"), handler: () => { this.clearText(); ui.setMode(Mode.STARTER_SELECT); @@ -833,7 +833,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }); }; options.push({ - label: 'Manage Moves', + label: i18next.t("starterSelectUiHandler:manageMoves"), handler: () => { showSwapOptions(this.starterMoveset); return true; @@ -846,7 +846,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (passiveAttr & PassiveAttr.UNLOCKED) { if (!(passiveAttr & PassiveAttr.ENABLED)) { options.push({ - label: 'Enable Passive', + label: i18next.t("starterSelectUiHandler:enablePassive"), handler: () => { starterData.passiveAttr |= PassiveAttr.ENABLED; ui.setMode(Mode.STARTER_SELECT); @@ -856,7 +856,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }); } else { options.push({ - label: 'Disable Passive', + label: i18next.t("starterSelectUiHandler:disablePassive"), handler: () => { starterData.passiveAttr ^= PassiveAttr.ENABLED; ui.setMode(Mode.STARTER_SELECT); @@ -871,7 +871,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (!(passiveAttr & PassiveAttr.UNLOCKED)) { const passiveCost = getPassiveCandyCount(speciesStarters[this.lastSpecies.speciesId]); options.push({ - label: `x${passiveCost} Unlock Passive (${allAbilities[starterPassiveAbilities[this.lastSpecies.speciesId]].name})`, + label: `x${passiveCost} ${i18next.t("starterSelectUiHandler:unlockPassive")} (${allAbilities[starterPassiveAbilities[this.lastSpecies.speciesId]].name})`, handler: () => { if (candyCount >= passiveCost) { starterData.passiveAttr |= PassiveAttr.UNLOCKED | PassiveAttr.ENABLED; @@ -895,7 +895,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { if (valueReduction < 2) { const reductionCost = getValueReductionCandyCounts(speciesStarters[this.lastSpecies.speciesId])[valueReduction]; options.push({ - label: `x${reductionCost} Reduce Cost`, + label: `x${reductionCost} ${i18next.t("starterSelectUiHandler:reduceCost")}`, handler: () => { if (candyCount >= reductionCost) { starterData.valueReduction++; @@ -918,7 +918,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }); } options.push({ - label: 'Cancel', + label: i18next.t("menu:cancel"), handler: () => { ui.setMode(Mode.STARTER_SELECT); return true; @@ -931,7 +931,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }; if (!pokemonPrevolutions.hasOwnProperty(this.lastSpecies.speciesId)) { options.push({ - label: 'Use Candies', + label: i18next.t("starterSelectUiHandler:useCandies"), handler: () => { ui.setMode(Mode.STARTER_SELECT).then(() => showUseCandies()); return true; @@ -939,7 +939,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { }); } options.push({ - label: 'Cancel', + label: i18next.t("menu:cancel"), handler: () => { ui.setMode(Mode.STARTER_SELECT); return true; @@ -1108,17 +1108,17 @@ export default class StarterSelectUiHandler extends MessageUiHandler { let cycleInstructionLines = []; if (this.speciesStarterDexEntry?.caughtAttr) { if (this.canCycleShiny) - cycleInstructionLines.push('R: Cycle Shiny'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleShiny")); if (this.canCycleForm) - cycleInstructionLines.push('F: Cycle Form'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleForm")); if (this.canCycleGender) - cycleInstructionLines.push('G: Cycle Gender'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleGender")); if (this.canCycleAbility) - cycleInstructionLines.push('E: Cycle Ability'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleAbility")); if (this.canCycleNature) - cycleInstructionLines.push('N: Cycle Nature'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleNature")); if (this.canCycleVariant) - cycleInstructionLines.push('V: Cycle Variant'); + cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleVariant")); } if (cycleInstructionLines.length > 2) { @@ -1697,7 +1697,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.clearText(); }; - ui.showText(i18next.t("menu:confirmStartTeam"), null, () => { + ui.showText(i18next.t("starterSelectUiHandler:confirmStartTeam"), null, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => { const startRun = (gameMode: GameModes) => { this.scene.gameMode = gameModes[gameMode]; From 009d538ac564bff6097e055e3af284249fbca559 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Mon, 6 May 2024 19:54:32 +0200 Subject: [PATCH 16/38] Update French starter-select-ui-handler.ts (#559) --- src/locales/fr/starter-select-ui-handler.ts | 46 ++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index f91194f0cfe..b59568895dc 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -7,26 +7,26 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam":'Commencer avec ces Pokémon ?', - "growthRate": "Growth Rate:", - "ability": "Ability:", - "passive": "Passive:", - "nature": "Nature:", - "eggMoves": 'Egg Moves', - "start": "Start", - "addToParty": "Add to Party", - "toggleIVs": 'Toggle IVs', - "manageMoves": 'Manage Moves', - "useCandies": 'Use Candies', - "selectMoveSwapOut": "Select a move to swap out.", - "selectMoveSwapWith": "Select a move to swap with", - "unlockPassive": "Unlock Passive", - "reduceCost": "Reduce Cost", - "cycleShiny": "R: Cycle Shiny", - "cycleForm": 'F: Cycle Form', - "cycleGender": 'G: Cycle Gender', - "cycleAbility": 'E: Cycle Ability', - "cycleNature": 'N: Cycle Nature', - "cycleVariant": 'V: Cycle Variant', - "enablePassive": "Enable Passive", - "disablePassive": "Disable Passive" -} \ No newline at end of file + "growthRate": "Croissance :", + "ability": "Talent :", + "passive": "Passif :", + "nature": "Nature :", + "eggMoves": "Capacités Œuf", + "start": "Démar.", + "addToParty": "Ajouter à l’équipe", + "toggleIVs": "Voir IVs", + "manageMoves": "Gérer Capacités", + "useCandies": "Utiliser Bonbons", + "selectMoveSwapOut": "Sélectionnez la capacité à déplacer.", + "selectMoveSwapWith": "Sélectionnez laquelle échanger avec", + "unlockPassive": "Débloquer Passif", + "reduceCost": "Diminuer le cout", + "cycleShiny": "R: Parcourir Chromatiques", + "cycleForm": "F: Parcourir Formes", + "cycleGender": "G: Parcourir Sexes", + "cycleAbility": "E: Parcourir Talents", + "cycleNature": "N: Parcourir Natures", + "cycleVariant": "V: Parcourir Variants", + "enablePassive": "Activer Passif", + "disablePassive": "Désactiver Passif" +} From 674b2257be53e98cbee8fa5f665e0223fde85ae9 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 6 May 2024 14:25:17 -0400 Subject: [PATCH 17/38] I18n import cleanup (#562) * config import change * all other configs --- src/locales/de/config.ts | 28 +++++++ src/locales/en/config.ts | 28 +++++++ src/locales/es/config.ts | 28 +++++++ src/locales/fr/config.ts | 28 +++++++ src/locales/it/config.ts | 28 +++++++ src/plugins/i18n.ts | 165 ++++++--------------------------------- 6 files changed, 162 insertions(+), 143 deletions(-) create mode 100644 src/locales/de/config.ts create mode 100644 src/locales/en/config.ts create mode 100644 src/locales/es/config.ts create mode 100644 src/locales/fr/config.ts create mode 100644 src/locales/it/config.ts diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts new file mode 100644 index 00000000000..c388d7dec99 --- /dev/null +++ b/src/locales/de/config.ts @@ -0,0 +1,28 @@ +import { ability } from "./ability"; +import { battle } from "./battle"; +import { commandUiHandler } from "./command-ui-handler"; +import { fightUiHandler } from "./fight-ui-handler"; +import { menu } from "./menu"; +import { menuUiHandler } from "./menu-ui-handler"; +import { move } from "./move"; +import { pokeball } from "./pokeball"; +import { pokemon } from "./pokemon"; +import { pokemonStat } from "./pokemon-stat"; +import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { tutorial } from "./tutorial"; + + +export const deConfig = { + ability: ability, + battle: battle, + commandUiHandler: commandUiHandler, + fightUiHandler: fightUiHandler, + menuUiHandler: menuUiHandler, + menu: menu, + move: move, + pokeball: pokeball, + pokemonStat: pokemonStat, + pokemon: pokemon, + starterSelectUiHandler: starterSelectUiHandler, + tutorial: tutorial +} \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts new file mode 100644 index 00000000000..11cbc42d965 --- /dev/null +++ b/src/locales/en/config.ts @@ -0,0 +1,28 @@ +import { ability } from "./ability"; +import { battle } from "./battle"; +import { commandUiHandler } from "./command-ui-handler"; +import { fightUiHandler } from "./fight-ui-handler"; +import { menu } from "./menu"; +import { menuUiHandler } from "./menu-ui-handler"; +import { move } from "./move"; +import { pokeball } from "./pokeball"; +import { pokemon } from "./pokemon"; +import { pokemonStat } from "./pokemon-stat"; +import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { tutorial } from "./tutorial"; + + +export const enConfig = { + ability: ability, + battle: battle, + commandUiHandler: commandUiHandler, + fightUiHandler: fightUiHandler, + menuUiHandler: menuUiHandler, + menu: menu, + move: move, + pokeball: pokeball, + pokemonStat: pokemonStat, + pokemon: pokemon, + starterSelectUiHandler: starterSelectUiHandler, + tutorial: tutorial +} \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts new file mode 100644 index 00000000000..093a4b39351 --- /dev/null +++ b/src/locales/es/config.ts @@ -0,0 +1,28 @@ +import { ability } from "./ability"; +import { battle } from "./battle"; +import { commandUiHandler } from "./command-ui-handler"; +import { fightUiHandler } from "./fight-ui-handler"; +import { menu } from "./menu"; +import { menuUiHandler } from "./menu-ui-handler"; +import { move } from "./move"; +import { pokeball } from "./pokeball"; +import { pokemon } from "./pokemon"; +import { pokemonStat } from "./pokemon-stat"; +import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { tutorial } from "./tutorial"; + + +export const esConfig = { + ability: ability, + battle: battle, + commandUiHandler: commandUiHandler, + fightUiHandler: fightUiHandler, + menuUiHandler: menuUiHandler, + menu: menu, + move: move, + pokeball: pokeball, + pokemonStat: pokemonStat, + pokemon: pokemon, + starterSelectUiHandler: starterSelectUiHandler, + tutorial: tutorial +} \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts new file mode 100644 index 00000000000..a2e678ca695 --- /dev/null +++ b/src/locales/fr/config.ts @@ -0,0 +1,28 @@ +import { ability } from "./ability"; +import { battle } from "./battle"; +import { commandUiHandler } from "./command-ui-handler"; +import { fightUiHandler } from "./fight-ui-handler"; +import { menu } from "./menu"; +import { menuUiHandler } from "./menu-ui-handler"; +import { move } from "./move"; +import { pokeball } from "./pokeball"; +import { pokemon } from "./pokemon"; +import { pokemonStat } from "./pokemon-stat"; +import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { tutorial } from "./tutorial"; + + +export const frConfig = { + ability: ability, + battle: battle, + commandUiHandler: commandUiHandler, + fightUiHandler: fightUiHandler, + menuUiHandler: menuUiHandler, + menu: menu, + move: move, + pokeball: pokeball, + pokemonStat: pokemonStat, + pokemon: pokemon, + starterSelectUiHandler: starterSelectUiHandler, + tutorial: tutorial +} \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts new file mode 100644 index 00000000000..af394bd64c4 --- /dev/null +++ b/src/locales/it/config.ts @@ -0,0 +1,28 @@ +import { ability } from "./ability"; +import { battle } from "./battle"; +import { commandUiHandler } from "./command-ui-handler"; +import { fightUiHandler } from "./fight-ui-handler"; +import { menu } from "./menu"; +import { menuUiHandler } from "./menu-ui-handler"; +import { move } from "./move"; +import { pokeball } from "./pokeball"; +import { pokemon } from "./pokemon"; +import { pokemonStat } from "./pokemon-stat"; +import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { tutorial } from "./tutorial"; + + +export const itConfig = { + ability: ability, + battle: battle, + commandUiHandler: commandUiHandler, + fightUiHandler: fightUiHandler, + menuUiHandler: menuUiHandler, + menu: menu, + move: move, + pokeball: pokeball, + pokemonStat: pokemonStat, + pokemon: pokemon, + starterSelectUiHandler: starterSelectUiHandler, + tutorial: tutorial +} \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 8ad0711f596..6265d35cfaa 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -1,77 +1,11 @@ import i18next from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; -import { menu as enMenu } from '../locales/en/menu'; -import { menu as esMenu } from '../locales/es/menu'; -import { menu as itMenu } from '../locales/it/menu'; -import { menu as frMenu } from '../locales/fr/menu'; -import { menu as deMenu } from '../locales/de/menu'; - -import { menuUiHandler as enMenuUiHandler } from '../locales/en/menu-ui-handler.js'; -import { menuUiHandler as esMenuUiHandler } from '../locales/es/menu-ui-handler.js'; -import { menuUiHandler as frMenuUiHandler } from '../locales/fr/menu-ui-handler.js'; -import { menuUiHandler as itMenuUiHandler } from '../locales/it/menu-ui-handler.js'; -import { menuUiHandler as deMenuUiHandler } from '../locales/de/menu-ui-handler.js'; - -import { battle as enBattle } from '../locales/en/battle'; -import { battle as esBattle } from '../locales/es/battle'; -import { battle as itBattle } from '../locales/it/battle'; -import { battle as frBattle } from '../locales/fr/battle'; -import { battle as deBattle } from '../locales/de/battle'; - -import { move as enMove } from '../locales/en/move'; -import { move as esMove } from '../locales/es/move'; -import { move as itMove } from '../locales/it/move'; -import { move as frMove } from '../locales/fr/move'; -import { move as deMove } from '../locales/de/move'; - -import { ability as enAbility } from '../locales/en/ability'; -import { ability as esAbility } from '../locales/es/ability'; -import { ability as itAbility } from '../locales/it/ability'; -import { ability as frAbility } from '../locales/fr/ability'; -import { ability as deAbility } from '../locales/de/ability'; - -import { pokeball as enPokeball } from '../locales/en/pokeball'; -import { pokeball as esPokeball } from '../locales/es/pokeball'; -import { pokeball as itPokeball } from '../locales/it/pokeball'; -import { pokeball as frPokeball } from '../locales/fr/pokeball'; -import { pokeball as dePokeball } from '../locales/de/pokeball'; - -import { pokemon as enPokemon } from '../locales/en/pokemon'; -import { pokemon as esPokemon } from '../locales/es/pokemon'; -import { pokemon as itPokemon } from '../locales/it/pokemon'; -import { pokemon as frPokemon } from '../locales/fr/pokemon'; -import { pokemon as dePokemon } from '../locales/de/pokemon'; - -import { pokemonStat as enPokemonStat } from '../locales/en/pokemon-stat'; -import { pokemonStat as esPokemonStat } from '../locales/es/pokemon-stat'; -import { pokemonStat as frPokemonStat } from '../locales/fr/pokemon-stat'; -import { pokemonStat as itPokemonStat } from '../locales/it/pokemon-stat'; -import { pokemonStat as dePokemonStat } from '../locales/de/pokemon-stat'; - -import { commandUiHandler as enCommandUiHandler } from '../locales/en/command-ui-handler'; -import { commandUiHandler as esCommandUiHandler } from '../locales/es/command-ui-handler'; -import { commandUiHandler as itCommandUiHandler } from '../locales/it/command-ui-handler'; -import { commandUiHandler as frCommandUiHandler } from '../locales/fr/command-ui-handler'; -import { commandUiHandler as deCommandUiHandler } from '../locales/de/command-ui-handler'; - -import { fightUiHandler as enFightUiHandler } from '../locales/en/fight-ui-handler'; -import { fightUiHandler as esFightUiHandler } from '../locales/es/fight-ui-handler'; -import { fightUiHandler as frFightUiHandler } from '../locales/fr/fight-ui-handler'; -import { fightUiHandler as itFightUiHandler } from '../locales/it/fight-ui-handler'; -import { fightUiHandler as deFightUiHandler } from '../locales/de/fight-ui-handler'; - -import { tutorial as enTutorial } from '../locales/en/tutorial'; -import { tutorial as esTutorial } from '../locales/es/tutorial'; -import { tutorial as frTutorial } from '../locales/fr/tutorial'; -import { tutorial as itTutorial} from '../locales/it/tutorial'; -import { tutorial as deTutorial } from '../locales/de/tutorial'; - -import { starterSelectUiHandler as enStarterSelectUiHandler } from '../locales/en/starter-select-ui-handler'; -import { starterSelectUiHandler as esStarterSelectUiHandler } from '../locales/es/starter-select-ui-handler'; -import { starterSelectUiHandler as frStarterSelectUiHandler } from '../locales/fr/starter-select-ui-handler'; -import { starterSelectUiHandler as itStarterSelectUiHandler} from '../locales/it/starter-select-ui-handler'; -import { starterSelectUiHandler as deStarterSelectUiHandler } from '../locales/de/starter-select-ui-handler'; +import { deConfig } from '#app/locales/de/config.js'; +import { enConfig } from '#app/locales/en/config.js'; +import { esConfig } from '#app/locales/es/config.js'; +import { frConfig } from '#app/locales/fr/config.js'; +import { itConfig } from '#app/locales/it/config.js'; export interface SimpleTranslationEntries { [key: string]: string @@ -131,74 +65,19 @@ export function initI18n(): void { }, resources: { en: { - menu: enMenu, - menuUiHandler: enMenuUiHandler, - battle: enBattle, - move: enMove, - ability: enAbility, - pokeball: enPokeball, - pokemon: enPokemon, - pokemonStat: enPokemonStat, - commandUiHandler: enCommandUiHandler, - fightUiHandler: enFightUiHandler, - tutorial: enTutorial, - starterSelectUiHandler: enStarterSelectUiHandler + ...enConfig }, es: { - menu: esMenu, - menuUiHandler: esMenuUiHandler, - battle: esBattle, - move: esMove, - ability: esAbility, - pokeball: esPokeball, - pokemon: esPokemon, - pokemonStat: esPokemonStat, - commandUiHandler: esCommandUiHandler, - fightUiHandler: esFightUiHandler, - tutorial: esTutorial, - starterSelectUiHandler: esStarterSelectUiHandler + ...esConfig }, fr: { - menu: frMenu, - menuUiHandler: frMenuUiHandler, - battle: frBattle, - move: frMove, - ability: frAbility, - pokeball: frPokeball, - pokemon: frPokemon, - pokemonStat: frPokemonStat, - commandUiHandler: frCommandUiHandler, - fightUiHandler: frFightUiHandler, - tutorial: frTutorial, - starterSelectUiHandler: frStarterSelectUiHandler + ...frConfig }, it: { - menu: itMenu, - menuUiHandler: itMenuUiHandler, - battle: itBattle, - move: itMove, - ability: itAbility, - pokeball: itPokeball, - pokemon: itPokemon, - pokemonStat: itPokemonStat, - commandUiHandler: itCommandUiHandler, - fightUiHandler: itFightUiHandler, - tutorial: itTutorial, - starterSelectUiHandler: itStarterSelectUiHandler + ...itConfig }, de: { - menu: deMenu, - menuUiHandler: deMenuUiHandler, - battle: deBattle, - move: deMove, - ability: deAbility, - pokeball: dePokeball, - pokemon: dePokemon, - pokemonStat: dePokemonStat, - commandUiHandler: deCommandUiHandler, - fightUiHandler: deFightUiHandler, - tutorial: deTutorial, - starterSelectUiHandler: deStarterSelectUiHandler + ...deConfig } }, }); @@ -208,18 +87,18 @@ export function initI18n(): void { declare module 'i18next' { interface CustomTypeOptions { resources: { - menu: typeof enMenu; - menuUiHandler: typeof enMenuUiHandler; - move: typeof enMove; - battle: typeof enBattle, - ability: typeof enAbility; - pokeball: typeof enPokeball; - pokemon: typeof enPokemon; - pokemonStat: typeof enPokemonStat; - commandUiHandler: typeof enCommandUiHandler; - fightUiHandler: typeof enFightUiHandler; - tutorial: typeof enTutorial; - starterSelectUiHandler: typeof enStarterSelectUiHandler; + menu: SimpleTranslationEntries; + menuUiHandler: SimpleTranslationEntries; + move: MoveTranslationEntries; + battle: SimpleTranslationEntries, + ability: AbilityTranslationEntries; + pokeball: SimpleTranslationEntries; + pokemon: SimpleTranslationEntries; + pokemonStat: SimpleTranslationEntries; + commandUiHandler: SimpleTranslationEntries; + fightUiHandler: SimpleTranslationEntries; + tutorial: SimpleTranslationEntries; + starterSelectUiHandler: SimpleTranslationEntries; }; } } From 4c39bf64c5d5fd97d82f38dc7d1ea63c7be15b10 Mon Sep 17 00:00:00 2001 From: Dakurei Date: Mon, 6 May 2024 20:40:29 +0200 Subject: [PATCH 18/38] Fix overflowing fr locale --- src/locales/fr/starter-select-ui-handler.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index b59568895dc..77a79387ac6 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -12,21 +12,21 @@ export const starterSelectUiHandler: SimpleTranslationEntries = { "passive": "Passif :", "nature": "Nature :", "eggMoves": "Capacités Œuf", - "start": "Démar.", - "addToParty": "Ajouter à l’équipe", + "start": "Lancer", + "addToParty": "Ajouter à l’équipe", "toggleIVs": "Voir IVs", "manageMoves": "Gérer Capacités", "useCandies": "Utiliser Bonbons", - "selectMoveSwapOut": "Sélectionnez la capacité à déplacer.", + "selectMoveSwapOut": "Sélectionnez la capacité à échanger.", "selectMoveSwapWith": "Sélectionnez laquelle échanger avec", "unlockPassive": "Débloquer Passif", "reduceCost": "Diminuer le cout", - "cycleShiny": "R: Parcourir Chromatiques", - "cycleForm": "F: Parcourir Formes", - "cycleGender": "G: Parcourir Sexes", - "cycleAbility": "E: Parcourir Talents", - "cycleNature": "N: Parcourir Natures", - "cycleVariant": "V: Parcourir Variants", + "cycleShiny": "R: » Chromatiques", + "cycleForm": "F: » Formes", + "cycleGender": "G: » Sexes", + "cycleAbility": "E: » Talents", + "cycleNature": "N: » Natures", + "cycleVariant": "V: » Variants", "enablePassive": "Activer Passif", "disablePassive": "Désactiver Passif" } From 582330df33844f9ebadbb55fc129a473c7dae189 Mon Sep 17 00:00:00 2001 From: Bruzzi <69127023+Bruzzii@users.noreply.github.com> Date: Mon, 6 May 2024 20:55:54 +0200 Subject: [PATCH 19/38] Update italian translation --- src/locales/it/battle.ts | 12 +++--- src/locales/it/starter-select-ui-handler.ts | 44 ++++++++++----------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts index 4b0afae1248..247e6e38e44 100644 --- a/src/locales/it/battle.ts +++ b/src/locales/it/battle.ts @@ -11,18 +11,18 @@ export const battle: SimpleTranslationEntries = { "trainerGo": "{{trainerName}} manda in campo {{pokemonName}}!", "switchQuestion": "Vuoi cambiare\n{{pokemonName}}?", "trainerDefeated": `Hai sconfitto\n{{trainerName}}!`, - "pokemonCaught": "{{pokemonName}} è stato catturato!", + "pokemonCaught": "Preso! {{pokemonName}} è stato catturato!", "pokemon": "Pokémon", "sendOutPokemon": "Vai! {{pokemonName}}!", "hitResultCriticalHit": "Brutto colpo!", "hitResultSuperEffective": "È superefficace!", "hitResultNotVeryEffective": "Non è molto efficace…", "hitResultNoEffect": "Non ha effetto su {{pokemonName}}!", - "hitResultOneHitKO": "È KO con un colpo solo!", + "hitResultOneHitKO": "KO con un colpo!", "attackFailed": "Ma ha fallito!", "attackHitsCount": `Colpito {{count}} volta/e!`, "expGain": "{{pokemonName}} ha guadagnato\n{{exp}} Punti Esperienza!", - "levelUp": "{{pokemonName}} è salito al \nLivello {{level}}!", + "levelUp": "{{pokemonName}} è salito al \nlivello {{level}}!", "learnMove": "{{pokemonName}} impara \n{{moveName}}!", "learnMovePrompt": "{{pokemonName}} vorrebbe imparare\n{{moveName}}.", "learnMoveLimitReached": "Tuttavia, {{pokemonName}} \nconosce già quattro mosse.", @@ -33,16 +33,16 @@ export const battle: SimpleTranslationEntries = { "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.", "levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!", "moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.", - "moveNoPP": "There's no PP left for\nthis move!", + "moveNoPP": "Non ci sono PP rimanenti\nper questa mossa!", "moveDisabled": "{{moveName}} è disabilitata!", "noPokeballForce": "Una forza misteriosa\nimpedisce l'uso dell Poké Ball.", "noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!", "noPokeballMulti": "Puoi lanciare una Poké Ball\nquando rimane un solo Pokémon!", "noPokeballStrong": "Il Pokémon avversario è troppo forte per essere catturato!\nDevi prima indebolirlo!", "noEscapeForce": "Una forza misteriosa\nimpedisce la fuga.", - "noEscapeTrainer": "Non puoi fuggire\nda una battaglia contro un'allenatore!", + "noEscapeTrainer": "Non puoi sottrarti\nalla lotta con un'allenatore!", "noEscapePokemon": "{{moveName}} di {{pokemonName}}\npreviene la {{escapeVerb}}!", - "runAwaySuccess": "Sei riuscito a fuggire!", + "runAwaySuccess": "Scampato pericolo!", "runAwayCannotEscape": 'Non puoi fuggire!', "escapeVerbSwitch": "cambiando", "escapeVerbFlee": "fuggendo", diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts index b9dc4ccacb0..1a442ffe9d9 100644 --- a/src/locales/it/starter-select-ui-handler.ts +++ b/src/locales/it/starter-select-ui-handler.ts @@ -7,26 +7,26 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam":'Vuoi iniziare con questi Pokémon?', - "growthRate": "Growth Rate:", - "ability": "Ability:", - "passive": "Passive:", - "nature": "Nature:", - "eggMoves": 'Egg Moves', - "start": "Start", - "addToParty": "Add to Party", - "toggleIVs": 'Toggle IVs', - "manageMoves": 'Manage Moves', - "useCandies": 'Use Candies', - "selectMoveSwapOut": "Select a move to swap out.", - "selectMoveSwapWith": "Select a move to swap with", - "unlockPassive": "Unlock Passive", - "reduceCost": "Reduce Cost", - "cycleShiny": "R: Cycle Shiny", - "cycleForm": 'F: Cycle Form', - "cycleGender": 'G: Cycle Gender', - "cycleAbility": 'E: Cycle Ability', - "cycleNature": 'N: Cycle Nature', - "cycleVariant": 'V: Cycle Variant', - "enablePassive": "Enable Passive", - "disablePassive": "Disable Passive" + "growthRate": "Vel. Crescita:", + "ability": "Abilità:", + "passive": "Passiva:", + "nature": "Natura:", + "eggMoves": 'Mosse delle uova', + "start": "Inizia", + "addToParty": "Aggiungi al Gruppo", + "toggleIVs": 'Vedi/Nascondi IV', + "manageMoves": 'Gestisci Mosse', + "useCandies": 'Usa Caramelle', + "selectMoveSwapOut": "Seleziona una mossa da scambiare.", + "selectMoveSwapWith": "Seleziona una mossa da scambiare con", + "unlockPassive": "Sblocca Passiva", + "reduceCost": "Riduci Costo", + "cycleShiny": "R: Alterna Shiny", + "cycleForm": 'F: Alterna Forma', + "cycleGender": 'G: Alterna Sesso', + "cycleAbility": 'E: Alterna Abilità', + "cycleNature": 'N: Alterna Natura', + "cycleVariant": 'V: Alterna Variante', + "enablePassive": "Attiva Passiva", + "disablePassive": "Disattiva Passiva" } \ No newline at end of file From 84f6f06ca4a12c26a31982ed1825e14b347ee4f1 Mon Sep 17 00:00:00 2001 From: Reldnahc Date: Mon, 6 May 2024 13:55:52 -0500 Subject: [PATCH 20/38] add override to force double battles. add override for passive abilities. --- src/battle-scene.ts | 5 ++++- src/field/pokemon.ts | 9 ++++++++- src/overrides.ts | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index e89874a075c..f117615e5db 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -59,7 +59,7 @@ import { SceneBase } from './scene-base'; import CandyBar from './ui/candy-bar'; import { Variant, variantData } from './data/variant'; import { Localizable } from './plugins/i18n'; -import { STARTING_WAVE_OVERRIDE, OPP_SPECIES_OVERRIDE, SEED_OVERRIDE, STARTING_BIOME_OVERRIDE } from './overrides'; +import { STARTING_WAVE_OVERRIDE, OPP_SPECIES_OVERRIDE, SEED_OVERRIDE, STARTING_BIOME_OVERRIDE, DOUBLE_BATTLE_OVERRIDE } from './overrides'; import {InputsController} from "./inputs-controller"; import {UiInputs} from "./ui-inputs"; @@ -842,6 +842,9 @@ export default class BattleScene extends SceneBase { } else if (!battleConfig) newDouble = !!double; + if (DOUBLE_BATTLE_OVERRIDE) + newDouble = true; + const lastBattle = this.currentBattle; if (lastBattle?.double && !newDouble) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 2242b1ee694..5f7ac90b0f4 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -43,7 +43,7 @@ import { Nature, getNatureStatMultiplier } from '../data/nature'; import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangeStatusEffectTrigger } from '../data/pokemon-forms'; import { TerrainType } from '../data/terrain'; import { TrainerSlot } from '../data/trainer-config'; -import { ABILITY_OVERRIDE, MOVE_OVERRIDE, MOVE_OVERRIDE_2, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_MOVE_OVERRIDE_2, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE } from '../overrides'; +import { ABILITY_OVERRIDE, MOVE_OVERRIDE, MOVE_OVERRIDE_2, OPP_ABILITY_OVERRIDE, OPP_MOVE_OVERRIDE, OPP_MOVE_OVERRIDE_2, OPP_PASSIVE_ABILITY_OVERRIDE, OPP_SHINY_OVERRIDE, OPP_VARIANT_OVERRIDE, PASSIVE_ABILITY_OVERRIDE } from '../overrides'; import { BerryType } from '../data/berry'; import i18next from '../plugins/i18n'; @@ -811,6 +811,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } getPassiveAbility(): Ability { + if (PASSIVE_ABILITY_OVERRIDE && this.isPlayer()) + return allAbilities[PASSIVE_ABILITY_OVERRIDE]; + if (OPP_PASSIVE_ABILITY_OVERRIDE && !this.isPlayer()) + return allAbilities[OPP_PASSIVE_ABILITY_OVERRIDE]; + let starterSpeciesId = this.species.speciesId; while (pokemonPrevolutions.hasOwnProperty(starterSpeciesId)) starterSpeciesId = pokemonPrevolutions[starterSpeciesId]; @@ -818,6 +823,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } hasPassive(): boolean { + if ((PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && this.isPlayer()) || (OPP_PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && !this.isPlayer())) + return true; return this.passive || this.isBoss(); } diff --git a/src/overrides.ts b/src/overrides.ts index 4b9bcaa0ba0..7608275ea0f 100644 --- a/src/overrides.ts +++ b/src/overrides.ts @@ -12,12 +12,15 @@ export const STARTING_WAVE_OVERRIDE = 0; export const STARTING_BIOME_OVERRIDE = Biome.TOWN; export const STARTING_MONEY_OVERRIDE = 0; export const WEATHER_OVERRIDE = WeatherType.NONE; +export const DOUBLE_BATTLE_OVERRIDE = false; export const ABILITY_OVERRIDE = Abilities.NONE; +export const PASSIVE_ABILITY_OVERRIDE = Abilities.NONE; export const MOVE_OVERRIDE = Moves.NONE; export const MOVE_OVERRIDE_2 = Moves.NONE; export const OPP_SPECIES_OVERRIDE = 0; export const OPP_ABILITY_OVERRIDE = Abilities.NONE; +export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE; export const OPP_MOVE_OVERRIDE = Moves.NONE; export const OPP_MOVE_OVERRIDE_2 = Moves.NONE; From f18ff5b6ccfcc232263f7efd84f80682763164db Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Mon, 6 May 2024 19:54:02 -0500 Subject: [PATCH 21/38] Update Learnsets for Gen3 to Indigo Disk (#571) * Updated Learnset of Gen1 to Indigo Disc Not many changes here for how much time it takes to comb through, but here it is. Only notable change is Power-Up Punch got removed this gen so it had to be removed from Hitmonchan's learnset. Are we okay with this change? If so, this is good to go for Gen 1. * Updated Learnset of Gen2 to Indigo Disc Notable changes: Porygon 2 loses Magic Coat with no replacement. Ho-oh loses Burn Up but gains Overheat. The rest seems better or neutral. * Update Learnsets for Gen3 to Indigo Disk A good chunk of these changes is just reordering the moves to match bulbapedia so that it's easier to see what changed in the future. Otherwise, it's really just replacing moves that don't exist anymore. Also, Zangoose got a ton of new moves that work with a move relearner, but not by level-up. Weird, but good if you like Zangoose. * Fix Duplicates --- src/data/pokemon-level-moves.ts | 446 ++++++++++++++++---------------- 1 file changed, 223 insertions(+), 223 deletions(-) diff --git a/src/data/pokemon-level-moves.ts b/src/data/pokemon-level-moves.ts index 2b5d95b2546..79530d98546 100644 --- a/src/data/pokemon-level-moves.ts +++ b/src/data/pokemon-level-moves.ts @@ -4383,15 +4383,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 55, Moves.FLARE_BLITZ ], ], [Species.BLAZIKEN]: [ - [ 1, Moves.FIRE_PUNCH ], - [ 1, Moves.SCRATCH ], + [ 0, Moves.BLAZE_KICK ], [ 1, Moves.DOUBLE_KICK ], + [ 1, Moves.SCRATCH ], [ 1, Moves.GROWL ], + [ 1, Moves.QUICK_ATTACK ], + [ 1, Moves.FIRE_PUNCH ], [ 1, Moves.EMBER ], [ 1, Moves.FLAMETHROWER ], - [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.FEATHER_DANCE ], - [ 1, Moves.BRAVE_BIRD ], [ 9, Moves.FLAME_CHARGE ], [ 12, Moves.DETECT ], [ 15, Moves.SAND_ATTACK ], @@ -4660,15 +4660,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.NUZLEAF]: [ [ 0, Moves.RAZOR_LEAF ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 1, Moves.HARDEN ], - [ 1, Moves.EXPLOSION ], - [ 1, Moves.SWAGGER ], - [ 1, Moves.FAKE_OUT ], - [ 1, Moves.TORMENT ], - [ 1, Moves.ASTONISH ], [ 1, Moves.AIR_CUTTER ], + [ 1, Moves.TORMENT ], + [ 1, Moves.FAKE_OUT ], + [ 1, Moves.SWAGGER ], + [ 1, Moves.EXPLOSION ], + [ 1, Moves.TACKLE ], + [ 1, Moves.HARDEN ], + [ 1, Moves.ABSORB ], + [ 1, Moves.ASTONISH ], [ 9, Moves.GROWTH ], [ 12, Moves.ROLLOUT ], [ 18, Moves.MEGA_DRAIN ], @@ -4704,8 +4704,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SUCKER_PUNCH ], ], [Species.TAILLOW]: [ - [ 1, Moves.GROWL ], [ 1, Moves.PECK ], + [ 1, Moves.GROWL ], [ 5, Moves.FOCUS_ENERGY ], [ 9, Moves.QUICK_ATTACK ], [ 13, Moves.WING_ATTACK ], @@ -4719,13 +4719,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 45, Moves.REVERSAL ], ], [Species.SWELLOW]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.PECK ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.PLUCK ], - [ 1, Moves.AIR_SLASH ], [ 1, Moves.BRAVE_BIRD ], + [ 1, Moves.AIR_SLASH ], + [ 1, Moves.PLUCK ], + [ 1, Moves.PECK ], + [ 1, Moves.GROWL ], + [ 1, Moves.FOCUS_ENERGY ], + [ 1, Moves.QUICK_ATTACK ], [ 13, Moves.WING_ATTACK ], [ 17, Moves.DOUBLE_TEAM ], [ 21, Moves.AERIAL_ACE ], @@ -4749,15 +4749,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 45, Moves.HURRICANE ], ], [Species.PELIPPER]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.SUPERSONIC ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.AGILITY ], - [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.PROTECT ], - [ 1, Moves.TAILWIND ], - [ 1, Moves.AIR_SLASH ], [ 1, Moves.SOAK ], + [ 1, Moves.QUICK_ATTACK ], + [ 1, Moves.AGILITY ], + [ 1, Moves.AIR_SLASH ], + [ 1, Moves.GROWL ], + [ 1, Moves.WATER_GUN ], + [ 1, Moves.TAILWIND ], + [ 1, Moves.SUPERSONIC ], [ 15, Moves.WING_ATTACK ], [ 20, Moves.WATER_PULSE ], [ 28, Moves.STOCKPILE ], @@ -4788,9 +4788,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.KIRLIA]: [ [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DOUBLE_TEAM ], [ 1, Moves.DISARMING_VOICE ], + [ 1, Moves.DOUBLE_TEAM ], + [ 1, Moves.CONFUSION ], [ 9, Moves.HYPNOSIS ], [ 12, Moves.DRAINING_KISS ], [ 15, Moves.TELEPORT ], @@ -4805,15 +4805,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.GARDEVOIR]: [ [ 0, Moves.DAZZLING_GLEAM ], - [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.CHARM ], - [ 1, Moves.HEALING_WISH ], - [ 1, Moves.HEAL_PULSE ], - [ 1, Moves.DISARMING_VOICE ], [ 1, Moves.MISTY_TERRAIN ], + [ 1, Moves.HEALING_WISH ], + [ 1, Moves.CHARM ], [ 1, Moves.MYSTICAL_FIRE ], + [ 1, Moves.HEAL_PULSE ], + [ 1, Moves.GROWL ], + [ 1, Moves.DISARMING_VOICE ], + [ 1, Moves.DOUBLE_TEAM ], + [ 1, Moves.CONFUSION ], [ 9, Moves.HYPNOSIS ], [ 12, Moves.DRAINING_KISS ], [ 15, Moves.TELEPORT ], @@ -4854,8 +4854,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 52, Moves.QUIVER_DANCE ], ], [Species.SHROOMISH]: [ - [ 1, Moves.TACKLE ], [ 1, Moves.ABSORB ], + [ 1, Moves.TACKLE ], [ 5, Moves.STUN_SPORE ], [ 8, Moves.LEECH_SEED ], [ 12, Moves.MEGA_DRAIN ], @@ -4869,13 +4869,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.BRELOOM]: [ [ 0, Moves.MACH_PUNCH ], - [ 1, Moves.TACKLE ], - [ 1, Moves.ABSORB ], - [ 1, Moves.LEECH_SEED ], - [ 1, Moves.GROWTH ], [ 1, Moves.POISON_POWDER ], - [ 1, Moves.STUN_SPORE ], + [ 1, Moves.GROWTH ], [ 1, Moves.TOXIC ], + [ 1, Moves.ABSORB ], + [ 1, Moves.TACKLE ], + [ 1, Moves.STUN_SPORE ], + [ 1, Moves.LEECH_SEED ], [ 12, Moves.MEGA_DRAIN ], [ 15, Moves.HEADBUTT ], [ 19, Moves.FEINT ], @@ -4915,11 +4915,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SLAKING]: [ [ 0, Moves.SWAGGER ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.ENCORE ], - [ 1, Moves.YAWN ], - [ 1, Moves.SLACK_OFF ], [ 1, Moves.SUCKER_PUNCH ], + [ 1, Moves.SCRATCH ], + [ 1, Moves.YAWN ], + [ 1, Moves.ENCORE ], + [ 1, Moves.SLACK_OFF ], [ 17, Moves.AMNESIA ], [ 23, Moves.COVET ], [ 27, Moves.THROAT_CHOP ], @@ -4942,18 +4942,18 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 40, Moves.DIG ], ], [Species.NINJASK]: [ - [ 0, Moves.SCREECH ], [ 0, Moves.DOUBLE_TEAM ], + [ 0, Moves.SCREECH ], [ 0, Moves.FURY_CUTTER ], - [ 1, Moves.SCRATCH ], - [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.DIG ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.FALSE_SWIPE ], [ 1, Moves.BATON_PASS ], - [ 1, Moves.METAL_CLAW ], [ 1, Moves.AERIAL_ACE ], + [ 1, Moves.MUD_SLAP ], + [ 1, Moves.METAL_CLAW ], + [ 1, Moves.DIG ], + [ 1, Moves.SAND_ATTACK ], + [ 1, Moves.SCRATCH ], + [ 1, Moves.HARDEN ], + [ 1, Moves.FALSE_SWIPE ], [ 15, Moves.AGILITY ], [ 23, Moves.ABSORB ], [ 29, Moves.BUG_BITE ], @@ -4964,28 +4964,27 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 64, Moves.X_SCISSOR ], ], [Species.SHEDINJA]: [ + [ 1, Moves.SHADOW_CLAW ], + [ 1, Moves.GRUDGE ], + [ 1, Moves.MUD_SLAP ], + [ 1, Moves.METAL_CLAW ], + [ 1, Moves.DIG ], [ 1, Moves.SCRATCH ], [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.DIG ], [ 1, Moves.HARDEN ], - [ 1, Moves.MUD_SLAP ], [ 1, Moves.FALSE_SWIPE ], - [ 1, Moves.METAL_CLAW ], - [ 1, Moves.GRUDGE ], - [ 1, Moves.SHADOW_CLAW ], [ 15, Moves.CONFUSE_RAY ], [ 23, Moves.ABSORB ], [ 29, Moves.SHADOW_SNEAK ], [ 36, Moves.FURY_SWIPES ], - [ 41, Moves.HEAL_BLOCK ], [ 43, Moves.MIND_READER ], [ 50, Moves.SHADOW_BALL ], [ 57, Moves.SPITE ], [ 64, Moves.PHANTOM_FORCE ], ], [Species.WHISMUR]: [ - [ 1, Moves.POUND ], [ 1, Moves.ASTONISH ], + [ 1, Moves.POUND ], [ 5, Moves.ECHOED_VOICE ], [ 10, Moves.HOWL ], [ 15, Moves.REST ], @@ -4999,10 +4998,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.LOUDRED]: [ [ 0, Moves.BITE ], - [ 1, Moves.POUND ], [ 1, Moves.ASTONISH ], - [ 1, Moves.HOWL ], + [ 1, Moves.POUND ], [ 1, Moves.ECHOED_VOICE ], + [ 1, Moves.HOWL ], [ 15, Moves.REST ], [ 15, Moves.SLEEP_TALK ], [ 23, Moves.STOMP ], @@ -5014,14 +5013,14 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.EXPLOUD]: [ [ 0, Moves.CRUNCH ], - [ 1, Moves.POUND ], [ 1, Moves.BITE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.HOWL ], - [ 1, Moves.THUNDER_FANG ], [ 1, Moves.ICE_FANG ], [ 1, Moves.FIRE_FANG ], + [ 1, Moves.THUNDER_FANG ], + [ 1, Moves.ASTONISH ], + [ 1, Moves.POUND ], [ 1, Moves.ECHOED_VOICE ], + [ 1, Moves.HOWL ], [ 15, Moves.REST ], [ 15, Moves.SLEEP_TALK ], [ 23, Moves.STOMP ], @@ -5053,11 +5052,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 46, Moves.HEAVY_SLAM ], ], [Species.HARIYAMA]: [ - [ 1, Moves.SAND_ATTACK ], + [ 1, Moves.BRINE ], [ 1, Moves.TACKLE ], [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.ARM_THRUST ], - [ 1, Moves.BRINE ], [ 10, Moves.FAKE_OUT ], [ 13, Moves.FORCE_PALM ], [ 16, Moves.WHIRLWIND ], @@ -5074,9 +5072,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 60, Moves.HEADLONG_RUSH ], ], [Species.AZURILL]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.WATER_GUN ], [ 1, Moves.SPLASH ], + [ 1, Moves.WATER_GUN ], + [ 1, Moves.TAIL_WHIP ], [ 3, Moves.HELPING_HAND ], [ 6, Moves.BUBBLE_BEAM ], [ 9, Moves.CHARM ], @@ -5098,13 +5096,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 34, Moves.SANDSTORM ], [ 37, Moves.EARTH_POWER ], [ 40, Moves.STONE_EDGE ], - [ 43, Moves.ZAP_CANNON ], [ 43, Moves.LOCK_ON ], + [ 43, Moves.ZAP_CANNON ], ], [Species.SKITTY]: [ - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.GROWL ], [ 1, Moves.FAKE_OUT ], + [ 1, Moves.GROWL ], + [ 1, Moves.TAIL_WHIP ], [ 4, Moves.TACKLE ], [ 7, Moves.SING ], [ 10, Moves.ATTRACT ], @@ -5140,8 +5138,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.PLAY_ROUGH ], ], [Species.SABLEYE]: [ - [ 1, Moves.SCRATCH ], [ 1, Moves.LEER ], + [ 1, Moves.SCRATCH ], [ 3, Moves.ASTONISH ], [ 9, Moves.SHADOW_SNEAK ], [ 12, Moves.FAKE_OUT ], @@ -5159,8 +5157,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.FOUL_PLAY ], ], [Species.MAWILE]: [ - [ 1, Moves.GROWL ], [ 1, Moves.ASTONISH ], + [ 1, Moves.GROWL ], [ 4, Moves.FAIRY_WIND ], [ 8, Moves.BATON_PASS ], [ 12, Moves.BITE ], @@ -5288,11 +5286,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 44, Moves.THUNDER ], ], [Species.MANECTRIC]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.LEER ], - [ 1, Moves.THUNDER_WAVE ], - [ 1, Moves.HOWL ], [ 1, Moves.FIRE_FANG ], + [ 1, Moves.TACKLE ], + [ 1, Moves.THUNDER_WAVE ], + [ 1, Moves.LEER ], + [ 1, Moves.HOWL ], [ 12, Moves.QUICK_ATTACK ], [ 16, Moves.SHOCK_WAVE ], [ 20, Moves.BITE ], @@ -5305,10 +5303,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 60, Moves.ELECTRIC_TERRAIN ], ], [Species.PLUSLE]: [ + [ 1, Moves.PLAY_NICE ], [ 1, Moves.GROWL ], [ 1, Moves.THUNDER_WAVE ], [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.PLAY_NICE ], [ 1, Moves.NUZZLE ], [ 4, Moves.HELPING_HAND ], [ 7, Moves.SPARK ], @@ -5317,8 +5315,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 16, Moves.SWIFT ], [ 19, Moves.ELECTRO_BALL ], [ 22, Moves.COPYCAT ], - [ 25, Moves.CHARM ], - [ 28, Moves.CHARGE ], + [ 26, Moves.CHARGE ], [ 31, Moves.DISCHARGE ], [ 34, Moves.BATON_PASS ], [ 37, Moves.AGILITY ], @@ -5328,10 +5325,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 49, Moves.ENTRAINMENT ], ], [Species.MINUN]: [ + [ 1, Moves.PLAY_NICE ], [ 1, Moves.GROWL ], [ 1, Moves.THUNDER_WAVE ], [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.PLAY_NICE ], [ 1, Moves.NUZZLE ], [ 4, Moves.HELPING_HAND ], [ 7, Moves.SPARK ], @@ -5340,8 +5337,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 16, Moves.SWIFT ], [ 19, Moves.ELECTRO_BALL ], [ 22, Moves.COPYCAT ], - [ 25, Moves.FAKE_TEARS ], - [ 28, Moves.CHARGE ], + [ 26, Moves.CHARGE ], [ 31, Moves.DISCHARGE ], [ 34, Moves.BATON_PASS ], [ 37, Moves.AGILITY ], @@ -5422,11 +5418,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SWALOT]: [ [ 0, Moves.BODY_SLAM ], - [ 1, Moves.POUND ], - [ 1, Moves.SLUDGE ], - [ 1, Moves.POISON_GAS ], - [ 1, Moves.YAWN ], [ 1, Moves.GUNK_SHOT ], + [ 1, Moves.POUND ], + [ 1, Moves.YAWN ], + [ 1, Moves.POISON_GAS ], + [ 1, Moves.SLUDGE ], [ 12, Moves.AMNESIA ], [ 17, Moves.ACID_SPRAY ], [ 20, Moves.ENCORE ], @@ -5439,8 +5435,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 49, Moves.BELCH ], ], [Species.CARVANHA]: [ - [ 1, Moves.LEER ], [ 1, Moves.AQUA_JET ], + [ 1, Moves.LEER ], [ 4, Moves.POISON_FANG ], [ 8, Moves.FOCUS_ENERGY ], [ 12, Moves.SCARY_FACE ], @@ -5455,11 +5451,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SHARPEDO]: [ [ 0, Moves.SLASH ], - [ 1, Moves.LEER ], - [ 1, Moves.FOCUS_ENERGY ], - [ 1, Moves.POISON_FANG ], [ 1, Moves.NIGHT_SLASH ], [ 1, Moves.AQUA_JET ], + [ 1, Moves.LEER ], + [ 1, Moves.POISON_FANG ], + [ 1, Moves.FOCUS_ENERGY ], [ 12, Moves.SCARY_FACE ], [ 16, Moves.BITE ], [ 20, Moves.ICE_FANG ], @@ -5489,12 +5485,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.WATER_SPOUT ], ], [Species.WAILORD]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPLASH ], - [ 1, Moves.ASTONISH ], [ 1, Moves.SOAK ], [ 1, Moves.NOBLE_ROAR ], + [ 1, Moves.SPLASH ], + [ 1, Moves.GROWL ], + [ 1, Moves.ASTONISH ], + [ 1, Moves.WATER_GUN ], [ 15, Moves.MIST ], [ 18, Moves.WATER_PULSE ], [ 21, Moves.HEAVY_SLAM ], @@ -5509,8 +5505,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 54, Moves.WATER_SPOUT ], ], [Species.NUMEL]: [ - [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], + [ 1, Moves.TACKLE ], [ 5, Moves.EMBER ], [ 8, Moves.FOCUS_ENERGY ], [ 12, Moves.BULLDOZE ], @@ -5526,12 +5522,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.CAMERUPT]: [ [ 0, Moves.ROCK_SLIDE ], - [ 1, Moves.TACKLE ], - [ 1, Moves.GROWL ], - [ 1, Moves.EMBER ], [ 1, Moves.FISSURE ], - [ 1, Moves.FOCUS_ENERGY ], [ 1, Moves.ERUPTION ], + [ 1, Moves.GROWL ], + [ 1, Moves.TACKLE ], + [ 1, Moves.EMBER ], + [ 1, Moves.FOCUS_ENERGY ], [ 12, Moves.BULLDOZE ], [ 15, Moves.INCINERATE ], [ 19, Moves.AMNESIA ], @@ -5543,8 +5539,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 46, Moves.EARTHQUAKE ], ], [Species.TORKOAL]: [ - [ 1, Moves.EMBER ], [ 1, Moves.SMOG ], + [ 1, Moves.EMBER ], [ 4, Moves.WITHDRAW ], [ 8, Moves.RAPID_SPIN ], [ 12, Moves.SMOKESCREEN ], @@ -5579,10 +5575,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.GRUMPIG]: [ [ 0, Moves.TEETER_DANCE ], - [ 1, Moves.PSYBEAM ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.SPLASH ], [ 1, Moves.BELCH ], + [ 1, Moves.SPLASH ], + [ 1, Moves.CONFUSION ], + [ 1, Moves.PSYBEAM ], [ 18, Moves.PSYCH_UP ], [ 22, Moves.CONFUSE_RAY ], [ 26, Moves.ZEN_HEADBUTT ], @@ -5612,7 +5608,6 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.TRAPINCH]: [ [ 1, Moves.SAND_ATTACK ], [ 1, Moves.ASTONISH ], - [ 4, Moves.LASER_FOCUS ], [ 8, Moves.BITE ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], @@ -5627,16 +5622,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.VIBRAVA]: [ [ 0, Moves.DRAGON_BREATH ], + [ 1, Moves.DIG ], [ 1, Moves.SAND_ATTACK ], [ 1, Moves.BITE ], [ 1, Moves.SUPERSONIC ], [ 1, Moves.FISSURE ], - [ 1, Moves.DIG ], [ 1, Moves.CRUNCH ], [ 1, Moves.SUPERPOWER ], [ 1, Moves.ASTONISH ], [ 1, Moves.BULLDOZE ], - [ 1, Moves.LASER_FOCUS ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], [ 20, Moves.DRAGON_TAIL ], @@ -5651,19 +5645,18 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.FLYGON]: [ [ 0, Moves.DRAGON_CLAW ], + [ 1, Moves.DRAGON_BREATH ], + [ 1, Moves.BULLDOZE ], [ 1, Moves.SAND_ATTACK ], - [ 1, Moves.BITE ], [ 1, Moves.SUPERSONIC ], + [ 1, Moves.BITE ], [ 1, Moves.FISSURE ], [ 1, Moves.DIG ], - [ 1, Moves.DRAGON_BREATH ], [ 1, Moves.CRUNCH ], [ 1, Moves.SUPERPOWER ], [ 1, Moves.ASTONISH ], [ 1, Moves.DRAGON_DANCE ], [ 1, Moves.FEINT ], - [ 1, Moves.BULLDOZE ], - [ 1, Moves.LASER_FOCUS ], [ 12, Moves.MUD_SLAP ], [ 16, Moves.SAND_TOMB ], [ 20, Moves.DRAGON_TAIL ], @@ -5697,11 +5690,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.CACTURNE]: [ [ 0, Moves.SPIKY_SHIELD ], + [ 1, Moves.DESTINY_BOND ], [ 1, Moves.POISON_STING ], [ 1, Moves.LEER ], [ 1, Moves.ABSORB ], [ 1, Moves.GROWTH ], - [ 1, Moves.DESTINY_BOND ], [ 10, Moves.LEECH_SEED ], [ 13, Moves.SAND_ATTACK ], [ 16, Moves.BULLET_SEED ], @@ -5716,8 +5709,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 54, Moves.SANDSTORM ], ], [Species.SWABLU]: [ - [ 1, Moves.GROWL ], [ 1, Moves.PECK ], + [ 1, Moves.GROWL ], [ 4, Moves.DISARMING_VOICE ], [ 8, Moves.MIST ], [ 12, Moves.FURY_ATTACK ], @@ -5732,11 +5725,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.ALTARIA]: [ [ 0, Moves.DRAGON_PULSE ], - [ 1, Moves.GROWL ], - [ 1, Moves.MIST ], - [ 1, Moves.PECK ], [ 1, Moves.PLUCK ], + [ 1, Moves.PECK ], + [ 1, Moves.GROWL ], [ 1, Moves.DISARMING_VOICE ], + [ 1, Moves.MIST ], [ 12, Moves.FURY_ATTACK ], [ 16, Moves.ROUND ], [ 20, Moves.DRAGON_BREATH ], @@ -5751,6 +5744,18 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.ZANGOOSE]: [ [ 1, Moves.SCRATCH ], [ 1, Moves.LEER ], + [ 1, Moves.DOUBLE_KICK ], + [ 1, Moves.DISABLE ], + [ 1, Moves.COUNTER ], + [ 1, Moves.FURY_SWIPES ], + [ 1, Moves.CURSE ], + [ 1, Moves.FLAIL ], + [ 1, Moves.BELLY_DRUM ], + [ 1, Moves.FEINT ], + [ 1, Moves.NIGHT_SLASH ], + [ 1, Moves.DOUBLE_HIT ], + [ 1, Moves.QUICK_GUARD ], + [ 1, Moves.FINAL_GAMBIT ], [ 5, Moves.QUICK_ATTACK ], [ 8, Moves.FURY_CUTTER ], [ 12, Moves.METAL_CLAW ], @@ -5786,46 +5791,44 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 46, Moves.SLUDGE_BOMB ], ], [Species.LUNATONE]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MOONLIGHT ], [ 1, Moves.MOONBLAST ], + [ 1, Moves.MOONLIGHT ], + [ 1, Moves.TACKLE ], + [ 1, Moves.HARDEN ], + [ 1, Moves.CONFUSION ], + [ 1, Moves.ROCK_THROW ], [ 5, Moves.HYPNOSIS ], [ 10, Moves.ROCK_POLISH ], [ 15, Moves.ROCK_SLIDE ], [ 20, Moves.PSYSHOCK ], [ 25, Moves.COSMIC_POWER ], [ 30, Moves.PSYCHIC ], - [ 33, Moves.HEAL_BLOCK ], [ 35, Moves.STONE_EDGE ], [ 40, Moves.FUTURE_SIGHT ], [ 45, Moves.MAGIC_ROOM ], [ 50, Moves.EXPLOSION ], ], [Species.SOLROCK]: [ - [ 1, Moves.TACKLE ], - [ 1, Moves.ROCK_THROW ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.HARDEN ], - [ 1, Moves.MORNING_SUN ], [ 1, Moves.FLARE_BLITZ ], + [ 1, Moves.MORNING_SUN ], + [ 1, Moves.TACKLE ], + [ 1, Moves.HARDEN ], + [ 1, Moves.CONFUSION ], + [ 1, Moves.ROCK_THROW ], [ 5, Moves.HYPNOSIS ], [ 10, Moves.ROCK_POLISH ], [ 15, Moves.ROCK_SLIDE ], [ 20, Moves.ZEN_HEADBUTT ], [ 25, Moves.COSMIC_POWER ], [ 30, Moves.PSYCHIC ], - [ 33, Moves.HEAL_BLOCK ], [ 35, Moves.STONE_EDGE ], [ 40, Moves.SOLAR_BEAM ], [ 45, Moves.WONDER_ROOM ], [ 50, Moves.EXPLOSION ], ], [Species.BARBOACH]: [ - [ 1, Moves.WATER_GUN ], [ 1, Moves.MUD_SLAP ], + [ 1, Moves.WATER_GUN ], [ 6, Moves.REST ], [ 6, Moves.SNORE ], [ 12, Moves.WATER_PULSE ], @@ -5838,13 +5841,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.WHISCASH]: [ [ 0, Moves.THRASH ], + [ 1, Moves.BELCH ], + [ 1, Moves.ZEN_HEADBUTT ], + [ 1, Moves.TICKLE ], + [ 1, Moves.MUD_SLAP ], [ 1, Moves.WATER_GUN ], [ 1, Moves.REST ], [ 1, Moves.SNORE ], - [ 1, Moves.MUD_SLAP ], - [ 1, Moves.TICKLE ], - [ 1, Moves.ZEN_HEADBUTT ], - [ 1, Moves.BELCH ], [ 12, Moves.WATER_PULSE ], [ 18, Moves.AMNESIA ], [ 24, Moves.AQUA_TAIL ], @@ -5872,10 +5875,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.CRAWDAUNT]: [ [ 0, Moves.SWIFT ], - [ 1, Moves.LEER ], [ 1, Moves.WATER_GUN ], [ 1, Moves.HARDEN ], - [ 1, Moves.TAUNT ], + [ 1, Moves.LEER ], + [ 1, Moves.TAUNT ], [ 12, Moves.BUBBLE_BEAM ], [ 16, Moves.KNOCK_OFF ], [ 20, Moves.DOUBLE_HIT ], @@ -5894,7 +5897,6 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 3, Moves.RAPID_SPIN ], [ 6, Moves.CONFUSION ], [ 9, Moves.ROCK_TOMB ], - [ 10, Moves.HEAL_BLOCK ], [ 12, Moves.POWER_TRICK ], [ 15, Moves.PSYBEAM ], [ 18, Moves.ANCIENT_POWER ], @@ -5910,13 +5912,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.CLAYDOL]: [ [ 0, Moves.HYPER_BEAM ], - [ 1, Moves.CONFUSION ], [ 1, Moves.TELEPORT ], [ 1, Moves.HARDEN ], [ 1, Moves.MUD_SLAP ], [ 1, Moves.RAPID_SPIN ], + [ 1, Moves.CONFUSION ], [ 9, Moves.ROCK_TOMB ], - [ 10, Moves.HEAL_BLOCK ], [ 12, Moves.POWER_TRICK ], [ 15, Moves.PSYBEAM ], [ 18, Moves.ANCIENT_POWER ], @@ -5948,11 +5949,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 44, Moves.ENERGY_BALL ], ], [Species.CRADILY]: [ - [ 1, Moves.WRAP ], - [ 1, Moves.ACID ], [ 1, Moves.LEECH_SEED ], - [ 1, Moves.CONFUSE_RAY ], + [ 1, Moves.WRAP ], [ 1, Moves.ASTONISH ], + [ 1, Moves.ACID ], + [ 1, Moves.CONFUSE_RAY ], [ 12, Moves.INGRAIN ], [ 16, Moves.ANCIENT_POWER ], [ 20, Moves.MEGA_DRAIN ], @@ -5966,8 +5967,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.ENERGY_BALL ], ], [Species.ANORITH]: [ - [ 1, Moves.HARDEN ], [ 1, Moves.FURY_CUTTER ], + [ 1, Moves.HARDEN ], [ 4, Moves.WATER_GUN ], [ 8, Moves.SMACK_DOWN ], [ 12, Moves.METAL_CLAW ], @@ -5981,9 +5982,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 44, Moves.X_SCISSOR ], ], [Species.ARMALDO]: [ - [ 1, Moves.WATER_GUN ], - [ 1, Moves.HARDEN ], [ 1, Moves.FURY_CUTTER ], + [ 1, Moves.HARDEN ], + [ 1, Moves.WATER_GUN ], [ 1, Moves.SMACK_DOWN ], [ 12, Moves.METAL_CLAW ], [ 16, Moves.ANCIENT_POWER ], @@ -6002,11 +6003,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.MILOTIC]: [ [ 0, Moves.WATER_PULSE ], + [ 1, Moves.FLAIL ], + [ 1, Moves.SPLASH ], [ 1, Moves.TACKLE ], [ 1, Moves.WRAP ], [ 1, Moves.WATER_GUN ], - [ 1, Moves.SPLASH ], - [ 1, Moves.FLAIL ], [ 4, Moves.DISARMING_VOICE ], [ 8, Moves.TWISTER ], [ 12, Moves.AQUA_RING ], @@ -6023,8 +6024,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.CASTFORM]: [ [ 1, Moves.TACKLE ], - [ 10, Moves.EMBER ], [ 10, Moves.WATER_GUN ], + [ 10, Moves.EMBER ], [ 10, Moves.POWDER_SNOW ], [ 15, Moves.HEADBUTT ], [ 20, Moves.RAIN_DANCE ], @@ -6032,16 +6033,16 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 20, Moves.HAIL ], [ 25, Moves.WEATHER_BALL ], [ 35, Moves.HYDRO_PUMP ], - [ 35, Moves.BLIZZARD ], [ 35, Moves.FIRE_BLAST ], + [ 35, Moves.BLIZZARD ], [ 45, Moves.HURRICANE ], ], [Species.KECLEON]: [ - [ 1, Moves.SCRATCH ], - [ 1, Moves.TAIL_WHIP ], - [ 1, Moves.LICK ], [ 1, Moves.THIEF ], + [ 1, Moves.TAIL_WHIP ], [ 1, Moves.ASTONISH ], + [ 1, Moves.LICK ], + [ 1, Moves.SCRATCH ], [ 4, Moves.BIND ], [ 7, Moves.SHADOW_SNEAK ], [ 10, Moves.FEINT ], @@ -6074,8 +6075,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.BANETTE]: [ [ 0, Moves.KNOCK_OFF ], - [ 1, Moves.NIGHT_SHADE ], [ 1, Moves.SCREECH ], + [ 1, Moves.NIGHT_SHADE ], [ 1, Moves.SPITE ], [ 16, Moves.WILL_O_WISP ], [ 19, Moves.SHADOW_SNEAK ], @@ -6088,8 +6089,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 53, Moves.PHANTOM_FORCE ], ], [Species.DUSKULL]: [ - [ 1, Moves.LEER ], [ 1, Moves.ASTONISH ], + [ 1, Moves.LEER ], [ 4, Moves.DISABLE ], [ 8, Moves.SHADOW_SNEAK ], [ 12, Moves.CONFUSE_RAY ], @@ -6107,11 +6108,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.FIRE_PUNCH ], [ 1, Moves.ICE_PUNCH ], [ 1, Moves.THUNDER_PUNCH ], + [ 1, Moves.GRAVITY ], [ 1, Moves.BIND ], + [ 1, Moves.ASTONISH ], [ 1, Moves.LEER ], [ 1, Moves.DISABLE ], - [ 1, Moves.ASTONISH ], - [ 1, Moves.GRAVITY ], [ 1, Moves.SHADOW_SNEAK ], [ 12, Moves.CONFUSE_RAY ], [ 16, Moves.NIGHT_SHADE ], @@ -6124,11 +6125,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 48, Moves.FUTURE_SIGHT ], ], [Species.TROPIUS]: [ + [ 1, Moves.LEAF_STORM ], [ 1, Moves.GUST ], [ 1, Moves.LEER ], [ 1, Moves.GROWTH ], [ 1, Moves.RAZOR_LEAF ], - [ 1, Moves.LEAF_STORM ], [ 6, Moves.SWEET_SCENT ], [ 10, Moves.STOMP ], [ 16, Moves.MAGICAL_LEAF ], @@ -6141,11 +6142,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 56, Moves.SOLAR_BEAM ], ], [Species.CHIMECHO]: [ + [ 1, Moves.HEALING_WISH ], [ 1, Moves.WRAP ], [ 1, Moves.GROWL ], - [ 1, Moves.CONFUSION ], [ 1, Moves.ASTONISH ], - [ 1, Moves.HEALING_WISH ], + [ 1, Moves.CONFUSION ], [ 13, Moves.YAWN ], [ 16, Moves.STORED_POWER ], [ 19, Moves.TAKE_DOWN ], @@ -6157,8 +6158,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 47, Moves.HEAL_PULSE ], ], [Species.ABSOL]: [ - [ 1, Moves.LEER ], [ 1, Moves.QUICK_ATTACK ], + [ 1, Moves.LEER ], [ 5, Moves.DOUBLE_TEAM ], [ 10, Moves.KNOCK_OFF ], [ 15, Moves.DETECT ], @@ -6173,18 +6174,18 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.WYNAUT]: [ [ 1, Moves.COUNTER ], - [ 1, Moves.AMNESIA ], - [ 1, Moves.SPLASH ], - [ 1, Moves.DESTINY_BOND ], - [ 1, Moves.CHARM ], - [ 1, Moves.SAFEGUARD ], - [ 1, Moves.ENCORE ], [ 1, Moves.MIRROR_COAT ], + [ 1, Moves.SAFEGUARD ], + [ 1, Moves.DESTINY_BOND ], + [ 1, Moves.SPLASH ], + [ 1, Moves.CHARM ], + [ 1, Moves.ENCORE ], + [ 1, Moves.AMNESIA ], ], [Species.SNORUNT]: [ - [ 1, Moves.HEADBUTT ], [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ASTONISH ], + [ 1, Moves.ASTONISH ], + [ 1, Moves.HEADBUTT ], [ 5, Moves.LEER ], [ 10, Moves.DOUBLE_TEAM ], [ 15, Moves.ICE_SHARD ], @@ -6200,12 +6201,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.GLALIE]: [ [ 0, Moves.FREEZE_DRY ], - [ 1, Moves.HEADBUTT ], - [ 1, Moves.LEER ], - [ 1, Moves.DOUBLE_TEAM ], - [ 1, Moves.POWDER_SNOW ], - [ 1, Moves.ASTONISH ], [ 1, Moves.SHEER_COLD ], + [ 1, Moves.POWDER_SNOW ], + [ 1, Moves.HEADBUTT ], + [ 1, Moves.ASTONISH ], + [ 1, Moves.LEER ], + [ 1, Moves.DOUBLE_TEAM ], [ 15, Moves.ICE_SHARD ], [ 20, Moves.PROTECT ], [ 25, Moves.ICY_WIND ], @@ -6218,8 +6219,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 68, Moves.BLIZZARD ], ], [Species.SPHEAL]: [ - [ 1, Moves.DEFENSE_CURL ], [ 1, Moves.ROLLOUT ], + [ 1, Moves.DEFENSE_CURL ], [ 4, Moves.GROWL ], [ 8, Moves.WATER_GUN ], [ 12, Moves.POWDER_SNOW ], @@ -6236,10 +6237,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SEALEO]: [ [ 0, Moves.SWAGGER ], - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DEFENSE_CURL ], [ 1, Moves.ROLLOUT ], + [ 1, Moves.DEFENSE_CURL ], + [ 1, Moves.GROWL ], + [ 1, Moves.WATER_GUN ], [ 12, Moves.POWDER_SNOW ], [ 16, Moves.REST ], [ 20, Moves.SNORE ], @@ -6253,13 +6254,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 64, Moves.SHEER_COLD ], ], [Species.WALREIN]: [ - [ 1, Moves.GROWL ], - [ 1, Moves.WATER_GUN ], - [ 1, Moves.DEFENSE_CURL ], - [ 1, Moves.ROLLOUT ], [ 1, Moves.SWAGGER ], [ 1, Moves.CRUNCH ], [ 1, Moves.ICE_FANG ], + [ 1, Moves.ROLLOUT ], + [ 1, Moves.DEFENSE_CURL ], + [ 1, Moves.GROWL ], + [ 1, Moves.WATER_GUN ], [ 12, Moves.POWDER_SNOW ], [ 16, Moves.REST ], [ 20, Moves.SNORE ], @@ -6279,11 +6280,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 50, Moves.SHELL_SMASH ], ], [Species.HUNTAIL]: [ - [ 1, Moves.BITE ], [ 1, Moves.WATER_GUN ], - [ 1, Moves.WHIRLPOOL ], [ 1, Moves.IRON_DEFENSE ], [ 1, Moves.SHELL_SMASH ], + [ 1, Moves.WHIRLPOOL ], + [ 1, Moves.BITE ], [ 5, Moves.SCREECH ], [ 9, Moves.SCARY_FACE ], [ 11, Moves.RAIN_DANCE ], @@ -6299,12 +6300,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 50, Moves.HYDRO_PUMP ], ], [Species.GOREBYSS]: [ - [ 1, Moves.CONFUSION ], [ 1, Moves.WATER_GUN ], - [ 1, Moves.WHIRLPOOL ], [ 1, Moves.IRON_DEFENSE ], [ 1, Moves.SHELL_SMASH ], - [ 5, Moves.WATER_SPORT ], + [ 1, Moves.WHIRLPOOL ], + [ 1, Moves.CONFUSION ], + [ 5, Moves.RAIN_DANCE ], [ 9, Moves.AGILITY ], [ 11, Moves.DRAINING_KISS ], [ 14, Moves.WATER_PULSE ], @@ -6352,8 +6353,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 49, Moves.SAFEGUARD ], ], [Species.BAGON]: [ - [ 1, Moves.LEER ], [ 1, Moves.EMBER ], + [ 1, Moves.LEER ], [ 5, Moves.BITE ], [ 10, Moves.DRAGON_BREATH ], [ 15, Moves.HEADBUTT ], @@ -6368,10 +6369,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SHELGON]: [ [ 0, Moves.PROTECT ], + [ 1, Moves.EMBER ], [ 1, Moves.LEER ], [ 1, Moves.BITE ], - [ 1, Moves.EMBER ], - [ 1, Moves.DRAGON_BREATH ], + [ 1, Moves.DRAGON_BREATH ], [ 15, Moves.HEADBUTT ], [ 20, Moves.SCARY_FACE ], [ 25, Moves.CRUNCH ], @@ -6384,14 +6385,14 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.SALAMENCE]: [ [ 0, Moves.FLY ], - [ 1, Moves.LEER ], - [ 1, Moves.BITE ], - [ 1, Moves.EMBER ], [ 1, Moves.PROTECT ], - [ 1, Moves.DRAGON_BREATH ], - [ 1, Moves.ROOST ], [ 1, Moves.DRAGON_TAIL ], [ 1, Moves.DUAL_WINGBEAT ], + [ 1, Moves.ROOST ], + [ 1, Moves.EMBER ], + [ 1, Moves.LEER ], + [ 1, Moves.BITE ], + [ 1, Moves.DRAGON_BREATH ], [ 15, Moves.HEADBUTT ], [ 20, Moves.SCARY_FACE ], [ 25, Moves.CRUNCH ], @@ -6409,6 +6410,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 0, Moves.METAL_CLAW ], [ 1, Moves.TACKLE ], [ 1, Moves.BULLET_PUNCH ], + [ 1, Moves.HONE_CLAWS ], [ 6, Moves.ZEN_HEADBUTT ], [ 12, Moves.MAGNET_RISE ], [ 18, Moves.FLASH_CANNON ], @@ -6422,10 +6424,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { ], [Species.METAGROSS]: [ [ 0, Moves.HAMMER_ARM ], - [ 1, Moves.TACKLE ], - [ 1, Moves.CONFUSION ], - [ 1, Moves.METAL_CLAW ], + [ 0, Moves.CONFUSION ], + [ 0, Moves.METAL_CLAW ], [ 1, Moves.BULLET_PUNCH ], + [ 1, Moves.TACKLE ], + [ 1, Moves.EXPLOSION ], + [ 1, Moves.HONE_CLAWS ], [ 6, Moves.ZEN_HEADBUTT ], [ 12, Moves.MAGNET_RISE ], [ 16, Moves.FLASH_CANNON ], @@ -6438,8 +6442,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 82, Moves.HYPER_BEAM ], ], [Species.REGIROCK]: [ - [ 1, Moves.ROCK_THROW ], [ 1, Moves.CHARGE_BEAM ], + [ 1, Moves.ROCK_THROW ], [ 6, Moves.BULLDOZE ], [ 12, Moves.ANCIENT_POWER ], [ 18, Moves.STOMP ], @@ -6455,8 +6459,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 78, Moves.EXPLOSION ], ], [Species.REGICE]: [ - [ 1, Moves.ICY_WIND ], [ 1, Moves.CHARGE_BEAM ], + [ 1, Moves.ICY_WIND ], [ 6, Moves.BULLDOZE ], [ 12, Moves.ANCIENT_POWER ], [ 18, Moves.STOMP ], @@ -6472,13 +6476,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 78, Moves.EXPLOSION ], ], [Species.REGISTEEL]: [ - [ 1, Moves.METAL_CLAW ], [ 1, Moves.CHARGE_BEAM ], + [ 1, Moves.METAL_CLAW ], [ 6, Moves.BULLDOZE ], [ 12, Moves.ANCIENT_POWER ], - [ 18, Moves.STOMP ], - [ 24, Moves.FLASH_CANNON ], + [ 18, Moves.STOMP ], [ 24, Moves.IRON_HEAD ], + [ 24, Moves.FLASH_CANNON ], [ 30, Moves.CURSE ], [ 36, Moves.AMNESIA ], [ 36, Moves.IRON_DEFENSE ], @@ -6491,8 +6495,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 78, Moves.EXPLOSION ], ], [Species.LATIAS]: [ - [ 1, Moves.CHARM ], [ 1, Moves.STORED_POWER ], + [ 1, Moves.CHARM ], [ 5, Moves.HELPING_HAND ], [ 10, Moves.RECOVER ], [ 15, Moves.CONFUSION ], @@ -6507,12 +6511,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 60, Moves.PSYCHIC ], [ 65, Moves.GUARD_SPLIT ], [ 70, Moves.HEALING_WISH ], - [ 75, Moves.PSYCHO_SHIFT ], ], [Species.LATIOS]: [ - [ 1, Moves.DRAGON_DANCE ], [ 1, Moves.STORED_POWER ], - [ 1, Moves.HEAL_BLOCK ], + [ 1, Moves.DRAGON_DANCE ], [ 5, Moves.HELPING_HAND ], [ 10, Moves.RECOVER ], [ 15, Moves.CONFUSION ], @@ -6527,14 +6529,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 60, Moves.PSYCHIC ], [ 65, Moves.POWER_SPLIT ], [ 70, Moves.MEMENTO ], - [ 75, Moves.PSYCHO_SHIFT ], ], [Species.KYOGRE]: [ - [ 1, Moves.BODY_SLAM ], - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.WATER_PULSE ], [ 1, Moves.ORIGIN_PULSE ], + [ 1, Moves.WATER_PULSE ], + [ 1, Moves.ANCIENT_POWER ], + [ 1, Moves.BODY_SLAM ], + [ 1, Moves.SCARY_FACE ], [ 9, Moves.AQUA_TAIL ], [ 18, Moves.CALM_MIND ], [ 27, Moves.MUDDY_WATER ], @@ -6546,11 +6547,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 90, Moves.WATER_SPOUT ], ], [Species.GROUDON]: [ - [ 1, Moves.SCARY_FACE ], - [ 1, Moves.ANCIENT_POWER ], - [ 1, Moves.MUD_SHOT ], - [ 1, Moves.LAVA_PLUME ], [ 1, Moves.PRECIPICE_BLADES ], + [ 1, Moves.MUD_SHOT ], + [ 1, Moves.ANCIENT_POWER ], + [ 1, Moves.LAVA_PLUME ], + [ 1, Moves.SCARY_FACE ], [ 9, Moves.EARTH_POWER ], [ 18, Moves.BULK_UP ], [ 27, Moves.EARTHQUAKE ], @@ -6562,11 +6563,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 90, Moves.ERUPTION ], ], [Species.RAYQUAZA]: [ - [ 1, Moves.SCARY_FACE ], + [ 1, Moves.DRAGON_ASCENT ], [ 1, Moves.TWISTER ], [ 1, Moves.ANCIENT_POWER ], [ 1, Moves.AIR_SLASH ], - [ 1, Moves.DRAGON_ASCENT ], + [ 1, Moves.SCARY_FACE ], [ 9, Moves.CRUNCH ], [ 18, Moves.DRAGON_DANCE ], [ 27, Moves.EXTREME_SPEED ], @@ -6582,7 +6583,6 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.CONFUSION ], [ 1, Moves.WISH ], [ 7, Moves.SWIFT ], - [ 14, Moves.HELPING_HAND ], [ 21, Moves.LIFE_DEW ], [ 28, Moves.ZEN_HEADBUTT ], [ 35, Moves.GRAVITY ], @@ -6597,15 +6597,15 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 98, Moves.DOOM_DESIRE ], ], [Species.DEOXYS]: [ - [ 1, Moves.WRAP ], [ 1, Moves.LEER ], + [ 1, Moves.WRAP ], [ 7, Moves.NIGHT_SHADE ], [ 13, Moves.TELEPORT ], [ 19, Moves.KNOCK_OFF ], - [ 25, Moves.PURSUIT ], + [ 25, Moves.PSYSHOCK ], [ 31, Moves.PSYCHIC ], - [ 37, Moves.SNATCH ], - [ 43, Moves.PSYCHO_SHIFT ], + [ 37, Moves.GRAVITY ], + [ 43, Moves.SKILL_SWAP ], [ 49, Moves.ZEN_HEADBUTT ], [ 55, Moves.COSMIC_POWER ], [ 61, Moves.RECOVER ], From 0beb3a0f8956bba93e6ff2611ef6dbc68fca3b19 Mon Sep 17 00:00:00 2001 From: Alvin Zou <59787978+happinyz@users.noreply.github.com> Date: Mon, 6 May 2024 19:43:01 -0700 Subject: [PATCH 22/38] Show number of Pokeballs in inventory when selecting a pokeball in the reward phase (#573) * Show number of Pokeballs in inventory when selecting a pokeball in the reward phase * Address comments --- src/modifier/modifier-type.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 2e18cd91759..45cdd9c4c98 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -144,9 +144,16 @@ class AddPokeballModifierType extends ModifierType implements Localizable { } localize(): void { + // TODO: Actually use i18n to localize this description. this.name = `${this.count}x ${getPokeballName(this.pokeballType)}`; - this.description = `Receive ${getPokeballName(this.pokeballType)} x${this.count}\nCatch Rate: ${getPokeballCatchMultiplier(this.pokeballType) > -1 ? `${getPokeballCatchMultiplier(this.pokeballType)}x` : 'Certain'}`; + this.description = `Receive ${getPokeballName(this.pokeballType)} x${this.count} (Inventory: {AMOUNT}) \nCatch Rate: ${getPokeballCatchMultiplier(this.pokeballType) > -1 ? `${getPokeballCatchMultiplier(this.pokeballType)}x` : 'Certain'}`; } + + getDescription(scene: BattleScene): string { + this.localize(); + return this.description.replace('{AMOUNT}', scene.pokeballCounts[this.pokeballType].toString()); + } + } class AddVoucherModifierType extends ModifierType { From 52b546c92405c0189ba32dee52c6842cfc53fbbd Mon Sep 17 00:00:00 2001 From: kenniky Date: Mon, 6 May 2024 23:00:31 -0400 Subject: [PATCH 23/38] add hazard removal for Rapid Spin, Defog, Tidy Up, Mortal Spin (#248) * add hazard removal for Rapid Spin, Defog, Tidy Up, Mortal Spin * Updated templating and fixed some errors support for either pokemon using it added better templating * revert logic, and remove partial tags --------- Co-authored-by: kenwang Co-authored-by: Gwen Valentine --- src/data/move.ts | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 0b7b1e33c62..af4ce4fa619 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -2961,6 +2961,42 @@ export class AddArenaTrapTagAttr extends AddArenaTagAttr { } } +export class RemoveArenaTrapAttr extends MoveEffectAttr { + + private targetBothSides: boolean; + + constructor(targetBothSides: boolean = false) { + super(true, MoveEffectTrigger.PRE_APPLY); + this.targetBothSides = targetBothSides; + } + + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + + if (!super.apply(user, target, move, args)) + return false; + + if(this.targetBothSides){ + user.scene.arena.removeTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.TOXIC_SPIKES, ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.STEALTH_ROCK, ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.STICKY_WEB, ArenaTagSide.PLAYER); + + user.scene.arena.removeTagOnSide(ArenaTagType.SPIKES, ArenaTagSide.ENEMY); + user.scene.arena.removeTagOnSide(ArenaTagType.TOXIC_SPIKES, ArenaTagSide.ENEMY); + user.scene.arena.removeTagOnSide(ArenaTagType.STEALTH_ROCK, ArenaTagSide.ENEMY); + user.scene.arena.removeTagOnSide(ArenaTagType.STICKY_WEB, ArenaTagSide.ENEMY); + } + else { + user.scene.arena.removeTagOnSide(ArenaTagType.SPIKES, target.isPlayer() ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.TOXIC_SPIKES, target.isPlayer() ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.STEALTH_ROCK, target.isPlayer() ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER); + user.scene.arena.removeTagOnSide(ArenaTagType.STICKY_WEB, target.isPlayer() ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER); + } + + return true; + } +} + export class RemoveScreensAttr extends MoveEffectAttr { private targetBothSides: boolean; @@ -4602,7 +4638,7 @@ export function initMoves() { BattlerTagType.SEEDED, BattlerTagType.INFESTATION ], true) - .partial(), + .attr(RemoveArenaTrapAttr), new StatusMove(Moves.SWEET_SCENT, Type.NORMAL, 100, 20, -1, 0, 2) .attr(StatChangeAttr, BattleStat.EVA, -1) .target(MoveTarget.ALL_NEAR_ENEMIES), @@ -5144,7 +5180,8 @@ export function initMoves() { .attr(StatChangeAttr, BattleStat.EVA, -1) .attr(ClearWeatherAttr, WeatherType.FOG) .attr(ClearTerrainAttr) - .attr(RemoveScreensAttr, true), + .attr(RemoveScreensAttr, false) + .attr(RemoveArenaTrapAttr, true), new StatusMove(Moves.TRICK_ROOM, Type.PSYCHIC, -1, 5, -1, -7, 4) .attr(AddArenaTagAttr, ArenaTagType.TRICK_ROOM, 5) .ignoresProtect() @@ -6444,6 +6481,7 @@ export function initMoves() { BattlerTagType.INFESTATION ], true) .attr(StatusEffectAttr, StatusEffect.POISON) + .attr(RemoveArenaTrapAttr) .target(MoveTarget.ALL_NEAR_ENEMIES), new StatusMove(Moves.DOODLE, Type.NORMAL, 100, 10, -1, 0, 9) .attr(AbilityCopyAttr, true), @@ -6487,7 +6525,7 @@ export function initMoves() { .target(MoveTarget.BOTH_SIDES), new SelfStatusMove(Moves.TIDY_UP, Type.NORMAL, -1, 10, 100, 0, 9) .attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPD ], 1, true) - .partial(), + .attr(RemoveArenaTrapAttr), new StatusMove(Moves.SNOWSCAPE, Type.ICE, -1, 10, -1, 0, 9) .attr(WeatherChangeAttr, WeatherType.SNOW) .target(MoveTarget.BOTH_SIDES), From 2d740f1952340b335afc6edf6794a8be8111a8cf Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Tue, 7 May 2024 14:35:15 +1000 Subject: [PATCH 24/38] Implement once per battle restriction on abilities Currently just Intrepid Sword and Dauntless Shield --- src/data/ability.ts | 22 ++++++++++++++++++++-- src/field/pokemon.ts | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 07aecbdcc91..7f82ad01bbf 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -1826,6 +1826,19 @@ function getAnticipationCondition(): AbAttrCondition { }; } +/** + * Creates an ability condition that causes the ability to fail if that ability + * has already been used by that pokemon that battle. It requires an ability to + * be specified due to current limitations in how conditions on abilities work. + * @param {Abilities} ability The ability to check if it's already been applied + * @returns {AbAttrCondition} The condition + */ +function getOncePerBattleCondition(ability: Abilities): AbAttrCondition { + return (pokemon: Pokemon) => { + return !pokemon.battleData?.abilitiesApplied.includes(ability); + } +} + export class ForewarnAbAttr extends PostSummonAbAttr { constructor() { super(true); @@ -2522,6 +2535,9 @@ function applyAbAttrsInternal(attrType: { new(...args: any return applyNextAbAttr(); pokemon.scene.setPhaseQueueSplice(); const onApplySuccess = () => { + if (pokemon.battleData && !pokemon.battleData.abilitiesApplied.includes(ability.id)) { + pokemon.battleData.abilitiesApplied.push(ability.id); + } if (attr.showAbility && !quiet) { if (showAbilityInstant) pokemon.scene.abilityBar.showAbility(pokemon, passive); @@ -3379,9 +3395,11 @@ export function initAbilities() { new Ability(Abilities.NEUROFORCE, 7) .attr(MovePowerBoostAbAttr, (user, target, move) => target.getAttackTypeEffectiveness(move.type, user) >= 2, 1.25), new Ability(Abilities.INTREPID_SWORD, 8) - .attr(PostSummonStatChangeAbAttr, BattleStat.ATK, 1, true), + .attr(PostSummonStatChangeAbAttr, BattleStat.ATK, 1, true) + .condition(getOncePerBattleCondition(Abilities.INTREPID_SWORD)), new Ability(Abilities.DAUNTLESS_SHIELD, 8) - .attr(PostSummonStatChangeAbAttr, BattleStat.DEF, 1, true), + .attr(PostSummonStatChangeAbAttr, BattleStat.DEF, 1, true) + .condition(getOncePerBattleCondition(Abilities.DAUNTLESS_SHIELD)), new Ability(Abilities.LIBERO, 8) .unimplemented(), new Ability(Abilities.BALL_FETCH, 8) diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 5f7ac90b0f4..da67cd700b7 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -3133,6 +3133,7 @@ export class PokemonBattleData { public hitCount: integer = 0; public endured: boolean = false; public berriesEaten: BerryType[] = []; + public abilitiesApplied: Abilities[] = []; } export class PokemonBattleSummonData { From 36cde21ce34f6d4afa4e82bf1f34ba8af4f47fc4 Mon Sep 17 00:00:00 2001 From: alpaca Date: Tue, 7 May 2024 00:44:41 -0400 Subject: [PATCH 25/38] Adds ribbon in starter screen if mon has beat classic mode (#370) * adds the ribbon asset, hooking it up * works if override. need to add field on server side I imagine * moves count to starterData, increments on win * formatting * increment works properly * recursively check for prevolution * cleaned up to use getRootSpeciesId() * changes ribbon to gold medal version * adds Akuma's ribbon achievements * ribbons increment correctly * missed ui handler update * reorder achievements * ribbon correct, vouchers not. currently investigating * increments properly, but voucher reward phase not appearing * some cleanup * works great, need to better reflect who is getting ribbon in message and cry * plays level fanfare, tabling cry for now * reran items.bat * Minor fixes --------- Co-authored-by: Flashfyre --- public/images/items.json | 10817 +++++++++--------- public/images/items.png | Bin 50304 -> 50554 bytes public/images/items/bronze_ribbon.png | Bin 0 -> 400 bytes public/images/items/great_ribbon.png | Bin 0 -> 408 bytes public/images/items/master_ribbon.png | Bin 0 -> 408 bytes public/images/items/rogue_ribbon.png | Bin 0 -> 407 bytes public/images/items/ultra_ribbon.png | Bin 0 -> 406 bytes public/images/ui/champion_ribbon.png | Bin 0 -> 285 bytes public/images/ui/legacy/champion_ribbon.png | Bin 0 -> 285 bytes src/field/pokemon.ts | 15 +- src/loading-scene.ts | 1 + src/phases.ts | 57 +- src/system/achv.ts | 19 +- src/system/game-data.ts | 33 +- src/system/game-stats.ts | 2 + src/ui/game-stats-ui-handler.ts | 1 + src/ui/starter-select-ui-handler.ts | 13 + 17 files changed, 5588 insertions(+), 5370 deletions(-) create mode 100644 public/images/items/bronze_ribbon.png create mode 100644 public/images/items/great_ribbon.png create mode 100644 public/images/items/master_ribbon.png create mode 100644 public/images/items/rogue_ribbon.png create mode 100644 public/images/items/ultra_ribbon.png create mode 100644 public/images/ui/champion_ribbon.png create mode 100644 public/images/ui/legacy/champion_ribbon.png diff --git a/public/images/items.json b/public/images/items.json index 7b654e7616d..a454f9f1a15 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -4,8 +4,8 @@ "image": "items.png", "format": "RGBA8888", "size": { - "w": 395, - "h": 395 + "w": 396, + "h": 396 }, "scale": 1, "frames": [ @@ -72,6 +72,48 @@ "h": 28 } }, + { + "filename": "bronze_ribbon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 31 + }, + "frame": { + "x": 29, + "y": 27, + "w": 22, + "h": 31 + } + }, + { + "filename": "great_ribbon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 31 + }, + "frame": { + "x": 0, + "y": 58, + "w": 22, + "h": 31 + } + }, { "filename": "linking_cord", "rotated": false, @@ -87,12 +129,75 @@ "h": 26 }, "frame": { - "x": 29, - "y": 27, + "x": 61, + "y": 0, "w": 27, "h": 26 } }, + { + "filename": "master_ribbon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 31 + }, + "frame": { + "x": 0, + "y": 89, + "w": 22, + "h": 31 + } + }, + { + "filename": "rogue_ribbon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 31 + }, + "frame": { + "x": 22, + "y": 58, + "w": 22, + "h": 31 + } + }, + { + "filename": "ultra_ribbon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 1, + "w": 22, + "h": 31 + }, + "frame": { + "x": 0, + "y": 120, + "w": 22, + "h": 31 + } + }, { "filename": "cornerstone_mask", "rotated": false, @@ -108,7 +213,7 @@ "h": 26 }, "frame": { - "x": 61, + "x": 88, "y": 0, "w": 24, "h": 26 @@ -129,8 +234,8 @@ "h": 26 }, "frame": { - "x": 0, - "y": 58, + "x": 112, + "y": 0, "w": 23, "h": 26 } @@ -150,7 +255,7 @@ "h": 22 }, "frame": { - "x": 85, + "x": 135, "y": 0, "w": 27, "h": 22 @@ -171,7 +276,7 @@ "h": 21 }, "frame": { - "x": 112, + "x": 162, "y": 0, "w": 28, "h": 21 @@ -192,7 +297,7 @@ "h": 21 }, "frame": { - "x": 140, + "x": 190, "y": 0, "w": 28, "h": 21 @@ -213,7 +318,7 @@ "h": 21 }, "frame": { - "x": 168, + "x": 218, "y": 0, "w": 28, "h": 21 @@ -234,7 +339,7 @@ "h": 21 }, "frame": { - "x": 196, + "x": 246, "y": 0, "w": 28, "h": 21 @@ -255,7 +360,7 @@ "h": 21 }, "frame": { - "x": 224, + "x": 274, "y": 0, "w": 28, "h": 21 @@ -276,7 +381,7 @@ "h": 21 }, "frame": { - "x": 252, + "x": 302, "y": 0, "w": 28, "h": 21 @@ -297,8 +402,8 @@ "h": 31 }, "frame": { - "x": 0, - "y": 84, + "x": 22, + "y": 89, "w": 17, "h": 31 } @@ -319,7 +424,7 @@ }, "frame": { "x": 0, - "y": 115, + "y": 151, "w": 17, "h": 31 } @@ -339,12 +444,33 @@ "h": 31 }, "frame": { - "x": 0, - "y": 146, + "x": 22, + "y": 120, "w": 17, "h": 31 } }, + { + "filename": "black_augurite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 3, + "w": 22, + "h": 25 + }, + "frame": { + "x": 17, + "y": 151, + "w": 22, + "h": 25 + } + }, { "filename": "prison_bottle", "rotated": false, @@ -361,11 +487,32 @@ }, "frame": { "x": 0, - "y": 177, + "y": 182, "w": 17, "h": 30 } }, + { + "filename": "big_root", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 17, + "y": 176, + "w": 23, + "h": 24 + } + }, { "filename": "chipped_pot", "rotated": false, @@ -381,7 +528,7 @@ "h": 20 }, "frame": { - "x": 280, + "x": 330, "y": 0, "w": 26, "h": 20 @@ -402,12 +549,33 @@ "h": 20 }, "frame": { - "x": 306, + "x": 356, "y": 0, "w": 26, "h": 20 } }, + { + "filename": "catching_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 0, + "y": 212, + "w": 21, + "h": 24 + } + }, { "filename": "choice_scarf", "rotated": false, @@ -423,8 +591,8 @@ "h": 24 }, "frame": { - "x": 332, - "y": 0, + "x": 0, + "y": 236, "w": 24, "h": 24 } @@ -444,75 +612,12 @@ "h": 24 }, "frame": { - "x": 356, - "y": 0, + "x": 0, + "y": 260, "w": 24, "h": 24 } }, - { - "filename": "full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 4, - "w": 15, - "h": 23 - }, - "frame": { - "x": 380, - "y": 0, - "w": 15, - "h": 23 - } - }, - { - "filename": "black_augurite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 3, - "w": 22, - "h": 25 - }, - "frame": { - "x": 0, - "y": 207, - "w": 22, - "h": 25 - } - }, - { - "filename": "big_root", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 0, - "y": 232, - "w": 23, - "h": 24 - } - }, { "filename": "golden_punch", "rotated": false, @@ -529,7 +634,7 @@ }, "frame": { "x": 0, - "y": 256, + "y": 284, "w": 24, "h": 24 } @@ -550,7 +655,7 @@ }, "frame": { "x": 0, - "y": 280, + "y": 308, "w": 24, "h": 24 } @@ -571,7 +676,7 @@ }, "frame": { "x": 0, - "y": 304, + "y": 332, "w": 24, "h": 24 } @@ -592,11 +697,74 @@ }, "frame": { "x": 0, - "y": 328, + "y": 356, "w": 24, "h": 24 } }, + { + "filename": "mega_bracelet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 16 + }, + "frame": { + "x": 0, + "y": 380, + "w": 20, + "h": 16 + } + }, + { + "filename": "relic_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 9, + "w": 17, + "h": 16 + }, + "frame": { + "x": 20, + "y": 380, + "w": 17, + "h": 16 + } + }, + { + "filename": "calcium", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 51, + "y": 27, + "w": 16, + "h": 24 + } + }, { "filename": "lucky_punch_great", "rotated": false, @@ -612,159 +780,12 @@ "h": 24 }, "frame": { - "x": 0, - "y": 352, + "x": 67, + "y": 26, "w": 24, "h": 24 } }, - { - "filename": "coupon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 0, - "y": 376, - "w": 23, - "h": 19 - } - }, - { - "filename": "golden_mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 23, - "y": 376, - "w": 23, - "h": 19 - } - }, - { - "filename": "leftovers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 15, - "h": 22 - }, - "frame": { - "x": 380, - "y": 23, - "w": 15, - "h": 22 - } - }, - { - "filename": "calcium", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 17, - "y": 84, - "w": 16, - "h": 24 - } - }, - { - "filename": "carbos", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 17, - "y": 108, - "w": 16, - "h": 24 - } - }, - { - "filename": "catching_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 17, - "y": 132, - "w": 21, - "h": 24 - } - }, - { - "filename": "kings_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 23, - "h": 24 - }, - "frame": { - "x": 17, - "y": 156, - "w": 23, - "h": 24 - } - }, { "filename": "lucky_punch_master", "rotated": false, @@ -780,12 +801,33 @@ "h": 24 }, "frame": { - "x": 17, - "y": 180, + "x": 91, + "y": 26, "w": 24, "h": 24 } }, + { + "filename": "kings_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 23, + "h": 24 + }, + "frame": { + "x": 115, + "y": 26, + "w": 23, + "h": 24 + } + }, { "filename": "lucky_punch_ultra", "rotated": false, @@ -801,8 +843,8 @@ "h": 24 }, "frame": { - "x": 22, - "y": 204, + "x": 138, + "y": 22, "w": 24, "h": 24 } @@ -822,8 +864,8 @@ "h": 24 }, "frame": { - "x": 23, - "y": 228, + "x": 162, + "y": 21, "w": 24, "h": 24 } @@ -843,8 +885,8 @@ "h": 24 }, "frame": { - "x": 24, - "y": 252, + "x": 186, + "y": 21, "w": 24, "h": 24 } @@ -864,8 +906,8 @@ "h": 24 }, "frame": { - "x": 24, - "y": 276, + "x": 210, + "y": 21, "w": 24, "h": 24 } @@ -885,8 +927,8 @@ "h": 24 }, "frame": { - "x": 24, - "y": 300, + "x": 234, + "y": 21, "w": 24, "h": 24 } @@ -906,8 +948,8 @@ "h": 24 }, "frame": { - "x": 24, - "y": 324, + "x": 258, + "y": 21, "w": 24, "h": 24 } @@ -927,8 +969,8 @@ "h": 24 }, "frame": { - "x": 24, - "y": 348, + "x": 282, + "y": 21, "w": 24, "h": 24 } @@ -948,8 +990,50 @@ "h": 23 }, "frame": { - "x": 46, - "y": 372, + "x": 306, + "y": 21, + "w": 24, + "h": 23 + } + }, + { + "filename": "coin_case", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 330, + "y": 20, + "w": 24, + "h": 23 + } + }, + { + "filename": "expert_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 4, + "w": 24, + "h": 23 + }, + "frame": { + "x": 354, + "y": 20, "w": 24, "h": 23 } @@ -969,199 +1053,31 @@ "h": 24 }, "frame": { - "x": 23, + "x": 378, + "y": 20, + "w": 18, + "h": 24 + } + }, + { + "filename": "carbos", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 44, "y": 58, - "w": 18, - "h": 24 - } - }, - { - "filename": "ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 41, - "y": 53, - "w": 18, - "h": 24 - } - }, - { - "filename": "full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 33, - "y": 82, - "w": 18, - "h": 24 - } - }, - { - "filename": "max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 33, - "y": 106, - "w": 18, - "h": 24 - } - }, - { - "filename": "hp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, "w": 16, "h": 24 - }, - "frame": { - "x": 38, - "y": 130, - "w": 16, - "h": 24 - } - }, - { - "filename": "iron", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 40, - "y": 154, - "w": 16, - "h": 24 - } - }, - { - "filename": "lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 41, - "y": 178, - "w": 17, - "h": 24 - } - }, - { - "filename": "max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 46, - "y": 202, - "w": 18, - "h": 24 - } - }, - { - "filename": "max_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 47, - "y": 226, - "w": 17, - "h": 24 - } - }, - { - "filename": "max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 4, - "w": 18, - "h": 24 - }, - "frame": { - "x": 48, - "y": 250, - "w": 18, - "h": 24 } }, { @@ -1179,12 +1095,33 @@ "h": 24 }, "frame": { - "x": 48, - "y": 274, + "x": 21, + "y": 200, "w": 22, "h": 24 } }, + { + "filename": "oval_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 24, + "y": 224, + "w": 21, + "h": 24 + } + }, { "filename": "reveal_glass", "rotated": false, @@ -1200,8 +1137,8 @@ "h": 24 }, "frame": { - "x": 48, - "y": 298, + "x": 24, + "y": 248, "w": 23, "h": 24 } @@ -1221,201 +1158,12 @@ "h": 23 }, "frame": { - "x": 48, - "y": 322, + "x": 24, + "y": 272, "w": 23, "h": 23 } }, - { - "filename": "coin_case", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 48, - "y": 345, - "w": 24, - "h": 23 - } - }, - { - "filename": "max_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 56, - "y": 27, - "w": 16, - "h": 24 - } - }, - { - "filename": "oval_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 72, - "y": 26, - "w": 21, - "h": 24 - } - }, - { - "filename": "red_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 20, - "h": 24 - }, - "frame": { - "x": 93, - "y": 22, - "w": 20, - "h": 24 - } - }, - { - "filename": "expert_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 113, - "y": 21, - "w": 24, - "h": 23 - } - }, - { - "filename": "hearthflame_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 4, - "w": 24, - "h": 23 - }, - "frame": { - "x": 137, - "y": 21, - "w": 24, - "h": 23 - } - }, - { - "filename": "leppa_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 161, - "y": 21, - "w": 24, - "h": 23 - } - }, - { - "filename": "scope_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 185, - "y": 21, - "w": 24, - "h": 23 - } - }, - { - "filename": "twisted_spoon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 24, - "h": 23 - }, - "frame": { - "x": 209, - "y": 21, - "w": 24, - "h": 23 - } - }, { "filename": "dynamax_band", "rotated": false, @@ -1431,14 +1179,14 @@ "h": 23 }, "frame": { - "x": 233, - "y": 21, + "x": 24, + "y": 295, "w": 23, "h": 23 } }, { - "filename": "exp_balance", + "filename": "griseous_core", "rotated": false, "trimmed": true, "sourceSize": { @@ -1446,20 +1194,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 4, + "x": 5, "y": 5, - "w": 24, - "h": 22 + "w": 23, + "h": 23 }, "frame": { - "x": 256, - "y": 21, - "w": 24, - "h": 22 + "x": 24, + "y": 318, + "w": 23, + "h": 23 } }, { - "filename": "exp_share", + "filename": "hearthflame_mask", "rotated": false, "trimmed": true, "sourceSize": { @@ -1468,19 +1216,166 @@ }, "spriteSourceSize": { "x": 4, - "y": 5, + "y": 4, "w": 24, - "h": 22 + "h": 23 }, "frame": { - "x": 280, - "y": 20, + "x": 24, + "y": 341, "w": 24, - "h": 22 + "h": 23 } }, { - "filename": "peat_block", + "filename": "abomasite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 24, + "y": 364, + "w": 16, + "h": 16 + } + }, + { + "filename": "absolite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 37, + "y": 380, + "w": 16, + "h": 16 + } + }, + { + "filename": "aerodactylite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 40, + "y": 364, + "w": 16, + "h": 16 + } + }, + { + "filename": "aggronite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 53, + "y": 380, + "w": 16, + "h": 16 + } + }, + { + "filename": "ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 39, + "y": 89, + "w": 18, + "h": 24 + } + }, + { + "filename": "full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 39, + "y": 113, + "w": 18, + "h": 24 + } + }, + { + "filename": "max_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 39, + "y": 137, + "w": 18, + "h": 24 + } + }, + { + "filename": "silver_powder", "rotated": false, "trimmed": true, "sourceSize": { @@ -1489,15 +1384,267 @@ }, "spriteSourceSize": { "x": 4, - "y": 5, + "y": 11, "w": 24, - "h": 22 + "h": 15 }, "frame": { - "x": 304, - "y": 20, + "x": 39, + "y": 161, "w": 24, - "h": 22 + "h": 15 + } + }, + { + "filename": "shiny_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 21, + "h": 24 + }, + "frame": { + "x": 40, + "y": 176, + "w": 21, + "h": 24 + } + }, + { + "filename": "max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 4, + "w": 18, + "h": 24 + }, + "frame": { + "x": 43, + "y": 200, + "w": 18, + "h": 24 + } + }, + { + "filename": "hp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 45, + "y": 224, + "w": 16, + "h": 24 + } + }, + { + "filename": "iron", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 47, + "y": 248, + "w": 16, + "h": 24 + } + }, + { + "filename": "lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 47, + "y": 272, + "w": 17, + "h": 24 + } + }, + { + "filename": "max_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 47, + "y": 296, + "w": 17, + "h": 24 + } + }, + { + "filename": "adamant_crystal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 47, + "y": 320, + "w": 23, + "h": 21 + } + }, + { + "filename": "black_belt", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 48, + "y": 341, + "w": 22, + "h": 23 + } + }, + { + "filename": "alakazite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 56, + "y": 364, + "w": 16, + "h": 16 + } + }, + { + "filename": "altarianite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 16 + }, + "frame": { + "x": 69, + "y": 380, + "w": 16, + "h": 16 + } + }, + { + "filename": "revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 10, + "y": 8, + "w": 12, + "h": 17 + }, + "frame": { + "x": 382, + "y": 0, + "w": 12, + "h": 17 + } + }, + { + "filename": "ability_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 9, + "w": 24, + "h": 14 + }, + "frame": { + "x": 138, + "y": 46, + "w": 24, + "h": 14 } }, { @@ -1515,8 +1662,8 @@ "h": 18 }, "frame": { - "x": 328, - "y": 24, + "x": 162, + "y": 45, "w": 24, "h": 18 } @@ -1536,98 +1683,14 @@ "h": 18 }, "frame": { - "x": 352, - "y": 24, + "x": 186, + "y": 45, "w": 24, "h": 18 } }, { - "filename": "pp_max", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 59, - "y": 51, - "w": 16, - "h": 24 - } - }, - { - "filename": "shiny_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 21, - "h": 24 - }, - "frame": { - "x": 75, - "y": 50, - "w": 21, - "h": 24 - } - }, - { - "filename": "super_lure", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 17, - "h": 24 - }, - "frame": { - "x": 96, - "y": 46, - "w": 17, - "h": 24 - } - }, - { - "filename": "griseous_core", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 113, - "y": 44, - "w": 23, - "h": 23 - } - }, - { - "filename": "rare_candy", + "filename": "exp_balance", "rotated": false, "trimmed": true, "sourceSize": { @@ -1637,249 +1700,18 @@ "spriteSourceSize": { "x": 4, "y": 5, - "w": 23, - "h": 23 + "w": 24, + "h": 22 }, "frame": { - "x": 136, - "y": 44, - "w": 23, - "h": 23 - } - }, - { - "filename": "rarer_candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 159, - "y": 44, - "w": 23, - "h": 23 - } - }, - { - "filename": "stick", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 23 - }, - "frame": { - "x": 182, - "y": 44, - "w": 23, - "h": 23 - } - }, - { - "filename": "black_belt", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 205, - "y": 44, - "w": 22, - "h": 23 - } - }, - { - "filename": "bug_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 227, - "y": 44, - "w": 22, - "h": 23 - } - }, - { - "filename": "dark_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 249, - "y": 44, - "w": 22, - "h": 23 - } - }, - { - "filename": "pp_up", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 271, - "y": 43, - "w": 16, - "h": 24 - } - }, - { - "filename": "dragon_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 287, - "y": 42, - "w": 22, - "h": 23 - } - }, - { - "filename": "electric_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 309, - "y": 42, - "w": 22, - "h": 23 - } - }, - { - "filename": "fairy_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 331, - "y": 42, - "w": 22, - "h": 23 - } - }, - { - "filename": "fighting_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 353, - "y": 42, - "w": 22, - "h": 23 - } - }, - { - "filename": "mystic_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 20, - "h": 23 - }, - "frame": { - "x": 375, + "x": 210, "y": 45, - "w": 20, - "h": 23 + "w": 24, + "h": 22 } }, { - "filename": "ability_capsule", + "filename": "exp_share", "rotated": false, "trimmed": true, "sourceSize": { @@ -1888,15 +1720,141 @@ }, "spriteSourceSize": { "x": 4, - "y": 9, + "y": 5, "w": 24, - "h": 14 + "h": 22 }, "frame": { - "x": 113, - "y": 67, + "x": 234, + "y": 45, "w": 24, - "h": 14 + "h": 22 + } + }, + { + "filename": "leppa_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 258, + "y": 45, + "w": 24, + "h": 23 + } + }, + { + "filename": "scope_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 282, + "y": 45, + "w": 24, + "h": 23 + } + }, + { + "filename": "twisted_spoon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 23 + }, + "frame": { + "x": 306, + "y": 44, + "w": 24, + "h": 23 + } + }, + { + "filename": "peat_block", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 24, + "h": 22 + }, + "frame": { + "x": 330, + "y": 43, + "w": 24, + "h": 22 + } + }, + { + "filename": "healing_charm", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 354, + "y": 43, + "w": 23, + "h": 22 + } + }, + { + "filename": "lock_capsule", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 377, + "y": 44, + "w": 19, + "h": 22 } }, { @@ -1914,12 +1872,54 @@ "h": 20 }, "frame": { - "x": 137, - "y": 67, + "x": 330, + "y": 65, "w": 24, "h": 20 } }, + { + "filename": "amulet_coin", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 354, + "y": 65, + "w": 23, + "h": 21 + } + }, + { + "filename": "metal_coat", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 19, + "h": 22 + }, + "frame": { + "x": 377, + "y": 66, + "w": 19, + "h": 22 + } + }, { "filename": "rusted_shield", "rotated": false, @@ -1935,7 +1935,7 @@ "h": 20 }, "frame": { - "x": 161, + "x": 306, "y": 67, "w": 24, "h": 20 @@ -1956,264 +1956,12 @@ "h": 20 }, "frame": { - "x": 185, - "y": 67, + "x": 330, + "y": 85, "w": 24, "h": 20 } }, - { - "filename": "shadow_reins_of_unity", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 209, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "soft_sand", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 24, - "h": 20 - }, - "frame": { - "x": 233, - "y": 67, - "w": 24, - "h": 20 - } - }, - { - "filename": "adamant_crystal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 257, - "y": 67, - "w": 23, - "h": 21 - } - }, - { - "filename": "golden_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 96, - "y": 70, - "w": 17, - "h": 20 - } - }, - { - "filename": "silver_powder", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 24, - "h": 15 - }, - "frame": { - "x": 113, - "y": 81, - "w": 24, - "h": 15 - } - }, - { - "filename": "dragon_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 75, - "y": 74, - "w": 21, - "h": 23 - } - }, - { - "filename": "protein", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 59, - "y": 75, - "w": 16, - "h": 24 - } - }, - { - "filename": "fire_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 51, - "y": 99, - "w": 22, - "h": 23 - } - }, - { - "filename": "fire_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 54, - "y": 122, - "w": 22, - "h": 23 - } - }, - { - "filename": "flying_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 56, - "y": 145, - "w": 22, - "h": 23 - } - }, - { - "filename": "focus_sash", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 58, - "y": 168, - "w": 22, - "h": 23 - } - }, - { - "filename": "amulet_coin", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 137, - "y": 87, - "w": 23, - "h": 21 - } - }, { "filename": "auspicious_armor", "rotated": false, @@ -2229,2721 +1977,12 @@ "h": 21 }, "frame": { - "x": 160, - "y": 87, + "x": 354, + "y": 86, "w": 23, "h": 21 } }, - { - "filename": "healing_charm", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 183, - "y": 87, - "w": 23, - "h": 22 - } - }, - { - "filename": "rusted_sword", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 22 - }, - "frame": { - "x": 206, - "y": 87, - "w": 23, - "h": 22 - } - }, - { - "filename": "charcoal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 229, - "y": 87, - "w": 22, - "h": 22 - } - }, - { - "filename": "moon_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 251, - "y": 88, - "w": 23, - "h": 21 - } - }, - { - "filename": "relic_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 11, - "w": 15, - "h": 11 - }, - "frame": { - "x": 58, - "y": 191, - "w": 15, - "h": 11 - } - }, - { - "filename": "repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 64, - "y": 202, - "w": 16, - "h": 24 - } - }, - { - "filename": "super_repel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 64, - "y": 226, - "w": 16, - "h": 24 - } - }, - { - "filename": "unknown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 66, - "y": 250, - "w": 16, - "h": 24 - } - }, - { - "filename": "zinc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 4, - "w": 16, - "h": 24 - }, - "frame": { - "x": 70, - "y": 274, - "w": 16, - "h": 24 - } - }, - { - "filename": "ghost_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 71, - "y": 298, - "w": 22, - "h": 23 - } - }, - { - "filename": "grass_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 71, - "y": 321, - "w": 22, - "h": 23 - } - }, - { - "filename": "ground_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 72, - "y": 344, - "w": 22, - "h": 23 - } - }, - { - "filename": "hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 96, - "y": 90, - "w": 17, - "h": 23 - } - }, - { - "filename": "binding_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 23, - "h": 20 - }, - "frame": { - "x": 113, - "y": 96, - "w": 23, - "h": 20 - } - }, - { - "filename": "dusk_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 75, - "y": 97, - "w": 21, - "h": 21 - } - }, - { - "filename": "ice_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 76, - "y": 118, - "w": 22, - "h": 23 - } - }, - { - "filename": "lansat_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 78, - "y": 141, - "w": 21, - "h": 23 - } - }, - { - "filename": "leaf_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 80, - "y": 164, - "w": 21, - "h": 23 - } - }, - { - "filename": "never_melt_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 80, - "y": 187, - "w": 22, - "h": 23 - } - }, - { - "filename": "normal_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 80, - "y": 210, - "w": 22, - "h": 23 - } - }, - { - "filename": "black_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 80, - "y": 233, - "w": 23, - "h": 17 - } - }, - { - "filename": "petaya_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 82, - "y": 250, - "w": 22, - "h": 23 - } - }, - { - "filename": "poison_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 86, - "y": 273, - "w": 22, - "h": 23 - } - }, - { - "filename": "potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 93, - "y": 296, - "w": 17, - "h": 23 - } - }, - { - "filename": "psychic_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 93, - "y": 319, - "w": 22, - "h": 23 - } - }, - { - "filename": "reaper_cloth", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 23 - }, - "frame": { - "x": 94, - "y": 342, - "w": 22, - "h": 23 - } - }, - { - "filename": "burn_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 136, - "y": 108, - "w": 23, - "h": 17 - } - }, - { - "filename": "chill_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 159, - "y": 108, - "w": 23, - "h": 17 - } - }, - { - "filename": "douse_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 182, - "y": 109, - "w": 23, - "h": 17 - } - }, - { - "filename": "mystic_ticket", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 205, - "y": 109, - "w": 23, - "h": 19 - } - }, - { - "filename": "n_lunarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 228, - "y": 109, - "w": 23, - "h": 21 - } - }, - { - "filename": "n_solarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 6, - "w": 23, - "h": 21 - }, - "frame": { - "x": 251, - "y": 109, - "w": 23, - "h": 21 - } - }, - { - "filename": "masterpiece_teacup", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 21, - "h": 18 - }, - "frame": { - "x": 115, - "y": 116, - "w": 21, - "h": 18 - } - }, - { - "filename": "super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 23 - }, - "frame": { - "x": 98, - "y": 116, - "w": 17, - "h": 23 - } - }, - { - "filename": "rock_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 99, - "y": 139, - "w": 22, - "h": 23 - } - }, - { - "filename": "sharp_beak", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 21, - "h": 23 - }, - "frame": { - "x": 101, - "y": 162, - "w": 21, - "h": 23 - } - }, - { - "filename": "steel_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 102, - "y": 185, - "w": 22, - "h": 23 - } - }, - { - "filename": "stellar_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 102, - "y": 208, - "w": 22, - "h": 23 - } - }, - { - "filename": "blunder_policy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 19 - }, - "frame": { - "x": 103, - "y": 231, - "w": 22, - "h": 19 - } - }, - { - "filename": "water_tera_shard", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 104, - "y": 250, - "w": 22, - "h": 23 - } - }, - { - "filename": "sachet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 4, - "w": 18, - "h": 23 - }, - "frame": { - "x": 108, - "y": 273, - "w": 18, - "h": 23 - } - }, - { - "filename": "whipped_dream", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 21, - "h": 23 - }, - "frame": { - "x": 110, - "y": 296, - "w": 21, - "h": 23 - } - }, - { - "filename": "wide_lens", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 22, - "h": 23 - }, - "frame": { - "x": 115, - "y": 319, - "w": 22, - "h": 23 - } - }, - { - "filename": "dire_hit", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 116, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "berry_pot", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 18, - "h": 22 - }, - "frame": { - "x": 121, - "y": 134, - "w": 18, - "h": 22 - } - }, - { - "filename": "dna_splicers", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 139, - "y": 125, - "w": 22, - "h": 22 - } - }, - { - "filename": "poison_barb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 161, - "y": 125, - "w": 21, - "h": 21 - } - }, - { - "filename": "reviver_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 8, - "w": 23, - "h": 20 - }, - "frame": { - "x": 182, - "y": 126, - "w": 23, - "h": 20 - } - }, - { - "filename": "pair_of_tickets", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 19 - }, - "frame": { - "x": 205, - "y": 128, - "w": 23, - "h": 19 - } - }, - { - "filename": "relic_crown", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 23, - "h": 18 - }, - "frame": { - "x": 228, - "y": 130, - "w": 23, - "h": 18 - } - }, - { - "filename": "shell_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 23, - "h": 20 - }, - "frame": { - "x": 251, - "y": 130, - "w": 23, - "h": 20 - } - }, - { - "filename": "electirizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 122, - "y": 156, - "w": 22, - "h": 22 - } - }, - { - "filename": "enigma_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 124, - "y": 178, - "w": 22, - "h": 22 - } - }, - { - "filename": "ganlon_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 124, - "y": 200, - "w": 22, - "h": 22 - } - }, - { - "filename": "guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 125, - "y": 222, - "w": 22, - "h": 22 - } - }, - { - "filename": "ice_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 126, - "y": 244, - "w": 22, - "h": 22 - } - }, - { - "filename": "magmarizer", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 126, - "y": 266, - "w": 22, - "h": 22 - } - }, - { - "filename": "hard_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 131, - "y": 288, - "w": 20, - "h": 22 - } - }, - { - "filename": "lock_capsule", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 144, - "y": 147, - "w": 19, - "h": 22 - } - }, - { - "filename": "memory_bug", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 163, - "y": 146, - "w": 22, - "h": 22 - } - }, - { - "filename": "sitrus_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 20, - "h": 22 - }, - "frame": { - "x": 185, - "y": 146, - "w": 20, - "h": 22 - } - }, - { - "filename": "wellspring_mask", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 23, - "h": 21 - }, - "frame": { - "x": 205, - "y": 147, - "w": 23, - "h": 21 - } - }, - { - "filename": "deep_sea_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 228, - "y": 148, - "w": 22, - "h": 20 - } - }, - { - "filename": "deep_sea_tooth", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 250, - "y": 150, - "w": 22, - "h": 21 - } - }, - { - "filename": "memory_dark", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 146, - "y": 169, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_dragon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 146, - "y": 191, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_electric", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 168, - "y": 168, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_fairy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 168, - "y": 190, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_fighting", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 190, - "y": 168, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_fire", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 190, - "y": 190, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_flying", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 212, - "y": 168, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_ghost", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 212, - "y": 190, - "w": 22, - "h": 22 - } - }, - { - "filename": "mystery_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 18 - }, - "frame": { - "x": 234, - "y": 168, - "w": 16, - "h": 18 - } - }, - { - "filename": "memory_grass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 234, - "y": 186, - "w": 22, - "h": 22 - } - }, - { - "filename": "candy_overlay", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 12, - "w": 16, - "h": 15 - }, - "frame": { - "x": 250, - "y": 171, - "w": 16, - "h": 15 - } - }, - { - "filename": "memory_ground", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 147, - "y": 213, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 169, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_normal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 191, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_normal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 191, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_poison", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 213, - "y": 212, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_psychic", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 235, - "y": 208, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 148, - "y": 235, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_steel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 148, - "y": 257, - "w": 22, - "h": 22 - } - }, - { - "filename": "memory_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 170, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "mini_black_hole", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 170, - "y": 256, - "w": 22, - "h": 22 - } - }, - { - "filename": "protector", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 192, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "scroll_of_darkness", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 192, - "y": 256, - "w": 22, - "h": 22 - } - }, - { - "filename": "scroll_of_waters", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 214, - "y": 234, - "w": 22, - "h": 22 - } - }, - { - "filename": "shed_shell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 214, - "y": 256, - "w": 22, - "h": 22 - } - }, - { - "filename": "starf_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 236, - "y": 230, - "w": 22, - "h": 22 - } - }, - { - "filename": "thunder_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 236, - "y": 252, - "w": 22, - "h": 22 - } - }, - { - "filename": "metal_coat", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 19, - "h": 22 - }, - "frame": { - "x": 256, - "y": 186, - "w": 19, - "h": 22 - } - }, - { - "filename": "tm_bug", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 257, - "y": 208, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_dark", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 258, - "y": 230, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_dragon", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 258, - "y": 252, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_electric", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 151, - "y": 279, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_fairy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 173, - "y": 278, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_fighting", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 195, - "y": 278, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_fire", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 217, - "y": 278, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_flying", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 239, - "y": 274, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ghost", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 261, - "y": 274, - "w": 22, - "h": 22 - } - }, - { - "filename": "dubious_disc", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 151, - "y": 301, - "w": 22, - "h": 19 - } - }, - { - "filename": "fairy_feather", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 20 - }, - "frame": { - "x": 173, - "y": 300, - "w": 22, - "h": 20 - } - }, - { - "filename": "liechi_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 195, - "y": 300, - "w": 22, - "h": 21 - } - }, - { - "filename": "sweet_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 217, - "y": 300, - "w": 22, - "h": 21 - } - }, - { - "filename": "tm_grass", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 239, - "y": 296, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ground", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 261, - "y": 296, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_ice", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 137, - "y": 320, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_poison", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 159, - "y": 320, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_psychic", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 138, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_rock", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 160, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "prism_scale", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 9, - "y": 8, - "w": 15, - "h": 15 - }, - "frame": { - "x": 266, - "y": 171, - "w": 15, - "h": 15 - } - }, - { - "filename": "dawn_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 21 - }, - "frame": { - "x": 272, - "y": 150, - "w": 20, - "h": 21 - } - }, - { - "filename": "metronome", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 275, - "y": 186, - "w": 17, - "h": 22 - } - }, - { - "filename": "soothe_bell", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 5, - "w": 17, - "h": 22 - }, - "frame": { - "x": 279, - "y": 208, - "w": 17, - "h": 22 - } - }, - { - "filename": "tm_steel", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 280, - "y": 230, - "w": 22, - "h": 22 - } - }, - { - "filename": "tm_water", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 280, - "y": 252, - "w": 22, - "h": 22 - } - }, - { - "filename": "water_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 283, - "y": 274, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_accuracy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 283, - "y": 296, - "w": 22, - "h": 22 - } - }, - { - "filename": "syrupy_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 181, - "y": 321, - "w": 22, - "h": 21 - } - }, - { - "filename": "tart_apple", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 21 - }, - "frame": { - "x": 203, - "y": 321, - "w": 22, - "h": 21 - } - }, - { - "filename": "x_attack", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 182, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_defense", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 204, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "shiny_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 - }, - "frame": { - "x": 225, - "y": 321, - "w": 21, - "h": 21 - } - }, - { - "filename": "x_sp_atk", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 226, - "y": 342, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_sp_def", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 246, - "y": 318, - "w": 22, - "h": 22 - } - }, - { - "filename": "x_speed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 5, - "w": 22, - "h": 22 - }, - "frame": { - "x": 268, - "y": 318, - "w": 22, - "h": 22 - } - }, - { - "filename": "malicious_armor", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 248, - "y": 340, - "w": 22, - "h": 20 - } - }, - { - "filename": "big_nugget", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 270, - "y": 340, - "w": 20, - "h": 20 - } - }, { "filename": "spell_tag", "rotated": false, @@ -4959,14 +1998,14 @@ "h": 21 }, "frame": { - "x": 290, - "y": 318, + "x": 377, + "y": 88, "w": 19, "h": 21 } }, { - "filename": "zoom_lens", + "filename": "max_potion", "rotated": false, "trimmed": true, "sourceSize": { @@ -4974,20 +2013,20 @@ "h": 32 }, "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 21, - "h": 21 + "x": 7, + "y": 4, + "w": 18, + "h": 24 }, "frame": { - "x": 290, - "y": 339, - "w": 21, - "h": 21 + "x": 61, + "y": 176, + "w": 18, + "h": 24 } }, { - "filename": "apicot_berry", + "filename": "red_orb", "rotated": false, "trimmed": true, "sourceSize": { @@ -4996,61 +2035,19 @@ }, "spriteSourceSize": { "x": 6, - "y": 6, - "w": 19, - "h": 20 + "y": 4, + "w": 20, + "h": 24 }, "frame": { - "x": 280, - "y": 67, - "w": 19, - "h": 20 + "x": 61, + "y": 200, + "w": 20, + "h": 24 } }, { - "filename": "tera_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 6, - "w": 22, - "h": 20 - }, - "frame": { - "x": 299, - "y": 65, - "w": 22, - "h": 20 - } - }, - { - "filename": "upgrade", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 22, - "h": 19 - }, - "frame": { - "x": 321, - "y": 65, - "w": 22, - "h": 19 - } - }, - { - "filename": "metal_alloy", + "filename": "bug_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -5059,61 +2056,19 @@ }, "spriteSourceSize": { "x": 6, - "y": 7, - "w": 21, - "h": 19 + "y": 4, + "w": 22, + "h": 23 }, "frame": { - "x": 343, - "y": 65, - "w": 21, - "h": 19 + "x": 61, + "y": 224, + "w": 22, + "h": 23 } }, { - "filename": "shock_drive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 364, - "y": 68, - "w": 23, - "h": 17 - } - }, - { - "filename": "wise_glasses", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 4, - "y": 8, - "w": 23, - "h": 17 - }, - "frame": { - "x": 248, - "y": 360, - "w": 23, - "h": 17 - } - }, - { - "filename": "sharp_meteorite", + "filename": "dark_tera_shard", "rotated": false, "trimmed": true, "sourceSize": { @@ -5122,1090 +2077,82 @@ }, "spriteSourceSize": { "x": 6, - "y": 8, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 63, + "y": 247, + "w": 22, + "h": 23 + } + }, + { + "filename": "dragon_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, "w": 21, - "h": 18 + "h": 23 + }, + "frame": { + "x": 64, + "y": 270, + "w": 21, + "h": 23 + } + }, + { + "filename": "dragon_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 64, + "y": 293, + "w": 22, + "h": 23 + } + }, + { + "filename": "max_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 }, "frame": { "x": 70, - "y": 377, - "w": 21, - "h": 18 + "y": 316, + "w": 16, + "h": 24 } }, { - "filename": "unremarkable_teacup", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 21, - "h": 18 - }, - "frame": { - "x": 91, - "y": 377, - "w": 21, - "h": 18 - } - }, - { - "filename": "wl_ability_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 112, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_antidote", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 132, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_awakening", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 152, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_burn_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 172, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_custom_spliced", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 192, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_custom_thief", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 212, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 232, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 252, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "everstone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 17 - }, - "frame": { - "x": 271, - "y": 360, - "w": 20, - "h": 17 - } - }, - { - "filename": "wl_full_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 272, - "y": 377, - "w": 20, - "h": 18 - } - }, - { - "filename": "mega_bracelet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 16 - }, - "frame": { - "x": 291, - "y": 360, - "w": 20, - "h": 16 - } - }, - { - "filename": "lum_berry", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 292, - "y": 376, - "w": 20, - "h": 19 - } - }, - { - "filename": "blue_orb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 274, - "y": 88, - "w": 20, - "h": 20 - } - }, - { - "filename": "gb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 274, - "y": 108, - "w": 20, - "h": 20 - } - }, - { - "filename": "magnet", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 274, - "y": 128, - "w": 20, - "h": 20 - } - }, - { - "filename": "candy_jar", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 294, - "y": 87, - "w": 19, - "h": 20 - } - }, - { - "filename": "hard_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 20 - }, - "frame": { - "x": 294, - "y": 107, - "w": 19, - "h": 20 - } - }, - { - "filename": "mb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 294, - "y": 127, - "w": 20, - "h": 20 - } - }, - { - "filename": "lucky_egg", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 17, - "h": 20 - }, - "frame": { - "x": 313, - "y": 85, - "w": 17, - "h": 20 - } - }, - { - "filename": "pb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 330, - "y": 84, - "w": 20, - "h": 20 - } - }, - { - "filename": "pb_gold", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 313, - "y": 105, - "w": 20, - "h": 20 - } - }, - { - "filename": "rb", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 314, - "y": 125, - "w": 20, - "h": 20 - } - }, - { - "filename": "razor_fang", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 18, - "h": 20 - }, - "frame": { - "x": 333, - "y": 104, - "w": 18, - "h": 20 - } - }, - { - "filename": "smooth_meteorite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 334, - "y": 124, - "w": 20, - "h": 20 - } - }, - { - "filename": "revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 10, - "y": 8, - "w": 12, - "h": 17 - }, - "frame": { - "x": 350, - "y": 84, - "w": 12, - "h": 17 - } - }, - { - "filename": "razor_claw", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 20, - "h": 19 - }, - "frame": { - "x": 362, - "y": 85, - "w": 20, - "h": 19 - } - }, - { - "filename": "strange_ball", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 351, - "y": 104, - "w": 20, - "h": 20 - } - }, - { - "filename": "ub", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 20, - "h": 20 - }, - "frame": { - "x": 354, - "y": 124, - "w": 20, - "h": 20 - } - }, - { - "filename": "big_mushroom", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 6, - "w": 19, - "h": 19 - }, - "frame": { - "x": 371, - "y": 104, - "w": 19, - "h": 19 - } - }, - { - "filename": "miracle_seed", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 19, - "h": 19 - }, - "frame": { - "x": 374, - "y": 123, - "w": 19, - "h": 19 - } - }, - { - "filename": "wl_full_restore", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 314, - "y": 145, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_guard_spec", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 334, - "y": 144, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_hyper_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 354, - "y": 144, - "w": 20, - "h": 18 - } - }, - { - "filename": "oval_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 19 - }, - "frame": { - "x": 374, - "y": 142, - "w": 18, - "h": 19 - } - }, - { - "filename": "wl_ice_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 294, - "y": 147, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_item_drop", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 292, - "y": 165, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_item_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 292, - "y": 183, - "w": 20, - "h": 18 - } - }, - { - "filename": "candy", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 11, - "w": 18, - "h": 18 - }, - "frame": { - "x": 296, - "y": 201, - "w": 18, - "h": 18 - } - }, - { - "filename": "wl_max_elixir", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 314, - "y": 163, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_ether", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 334, - "y": 162, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_max_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 354, - "y": 162, - "w": 20, - "h": 18 - } - }, - { - "filename": "dark_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 374, - "y": 161, - "w": 18, - "h": 18 - } - }, - { - "filename": "wl_max_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 312, - "y": 181, - "w": 20, - "h": 18 - } - }, - { - "filename": "light_stone", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 7, - "w": 18, - "h": 18 - }, - "frame": { - "x": 314, - "y": 199, - "w": 18, - "h": 18 - } - }, - { - "filename": "wl_paralyze_heal", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 334, - "y": 180, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 354, - "y": 180, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_reset_urge", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 374, - "y": 179, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_revive", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 332, - "y": 198, - "w": 20, - "h": 18 - } - }, - { - "filename": "wl_super_potion", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 6, - "y": 8, - "w": 20, - "h": 18 - }, - "frame": { - "x": 352, - "y": 198, - "w": 20, - "h": 18 - } - }, - { - "filename": "relic_band", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 7, - "y": 9, - "w": 17, - "h": 16 - }, - "frame": { - "x": 314, - "y": 217, - "w": 17, - "h": 16 - } - }, - { - "filename": "abomasite", + "filename": "pp_max", "rotated": false, "trimmed": true, "sourceSize": { @@ -6214,120 +2161,15 @@ }, "spriteSourceSize": { "x": 8, - "y": 8, + "y": 4, "w": 16, - "h": 16 + "h": 24 }, "frame": { - "x": 302, - "y": 233, + "x": 70, + "y": 340, "w": 16, - "h": 16 - } - }, - { - "filename": "absolite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 302, - "y": 249, - "w": 16, - "h": 16 - } - }, - { - "filename": "aerodactylite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 318, - "y": 233, - "w": 16, - "h": 16 - } - }, - { - "filename": "aggronite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 318, - "y": 249, - "w": 16, - "h": 16 - } - }, - { - "filename": "alakazite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 305, - "y": 265, - "w": 16, - "h": 16 - } - }, - { - "filename": "altarianite", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 8, - "y": 8, - "w": 16, - "h": 16 - }, - "frame": { - "x": 305, - "y": 281, - "w": 16, - "h": 16 + "h": 24 } }, { @@ -6345,8 +2187,8 @@ "h": 16 }, "frame": { - "x": 305, - "y": 297, + "x": 72, + "y": 364, "w": 16, "h": 16 } @@ -6366,12 +2208,705 @@ "h": 16 }, "frame": { - "x": 321, - "y": 265, + "x": 85, + "y": 380, "w": 16, "h": 16 } }, + { + "filename": "shadow_reins_of_unity", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 67, + "y": 50, + "w": 24, + "h": 20 + } + }, + { + "filename": "soft_sand", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 24, + "h": 20 + }, + "frame": { + "x": 91, + "y": 50, + "w": 24, + "h": 20 + } + }, + { + "filename": "binding_band", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 23, + "h": 20 + }, + "frame": { + "x": 115, + "y": 50, + "w": 23, + "h": 20 + } + }, + { + "filename": "black_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 138, + "y": 60, + "w": 23, + "h": 17 + } + }, + { + "filename": "burn_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 161, + "y": 63, + "w": 23, + "h": 17 + } + }, + { + "filename": "chill_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 184, + "y": 63, + "w": 23, + "h": 17 + } + }, + { + "filename": "coupon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 207, + "y": 67, + "w": 23, + "h": 19 + } + }, + { + "filename": "golden_mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 230, + "y": 67, + "w": 23, + "h": 19 + } + }, + { + "filename": "moon_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 253, + "y": 68, + "w": 23, + "h": 21 + } + }, + { + "filename": "n_lunarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 276, + "y": 68, + "w": 23, + "h": 21 + } + }, + { + "filename": "douse_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 60, + "y": 70, + "w": 23, + "h": 17 + } + }, + { + "filename": "rare_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 57, + "y": 87, + "w": 23, + "h": 23 + } + }, + { + "filename": "rarer_candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 57, + "y": 110, + "w": 23, + "h": 23 + } + }, + { + "filename": "stick", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 23 + }, + "frame": { + "x": 57, + "y": 133, + "w": 23, + "h": 23 + } + }, + { + "filename": "apicot_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 63, + "y": 156, + "w": 19, + "h": 20 + } + }, + { + "filename": "mystic_ticket", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 83, + "y": 70, + "w": 23, + "h": 19 + } + }, + { + "filename": "electric_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 80, + "y": 89, + "w": 22, + "h": 23 + } + }, + { + "filename": "fairy_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 80, + "y": 112, + "w": 22, + "h": 23 + } + }, + { + "filename": "deep_sea_tooth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 80, + "y": 135, + "w": 22, + "h": 21 + } + }, + { + "filename": "n_solarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 6, + "w": 23, + "h": 21 + }, + "frame": { + "x": 106, + "y": 70, + "w": 23, + "h": 21 + } + }, + { + "filename": "fighting_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 102, + "y": 91, + "w": 22, + "h": 23 + } + }, + { + "filename": "fire_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 102, + "y": 114, + "w": 22, + "h": 23 + } + }, + { + "filename": "blunder_policy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 19 + }, + "frame": { + "x": 102, + "y": 137, + "w": 22, + "h": 19 + } + }, + { + "filename": "reviver_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 8, + "w": 23, + "h": 20 + }, + "frame": { + "x": 82, + "y": 156, + "w": 23, + "h": 20 + } + }, + { + "filename": "fire_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 79, + "y": 176, + "w": 22, + "h": 23 + } + }, + { + "filename": "flying_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 81, + "y": 199, + "w": 22, + "h": 23 + } + }, + { + "filename": "focus_sash", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 83, + "y": 222, + "w": 22, + "h": 23 + } + }, + { + "filename": "ghost_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 85, + "y": 245, + "w": 22, + "h": 23 + } + }, + { + "filename": "grass_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 85, + "y": 268, + "w": 22, + "h": 23 + } + }, + { + "filename": "ground_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 86, + "y": 291, + "w": 22, + "h": 23 + } + }, + { + "filename": "ice_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 86, + "y": 314, + "w": 22, + "h": 23 + } + }, + { + "filename": "never_melt_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 86, + "y": 337, + "w": 22, + "h": 23 + } + }, + { + "filename": "big_nugget", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 88, + "y": 360, + "w": 20, + "h": 20 + } + }, { "filename": "banettite", "rotated": false, @@ -6387,12 +2922,222 @@ "h": 16 }, "frame": { - "x": 321, - "y": 281, + "x": 101, + "y": 380, "w": 16, "h": 16 } }, + { + "filename": "blue_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 105, + "y": 156, + "w": 20, + "h": 20 + } + }, + { + "filename": "normal_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 101, + "y": 176, + "w": 22, + "h": 23 + } + }, + { + "filename": "lansat_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 103, + "y": 199, + "w": 21, + "h": 23 + } + }, + { + "filename": "leaf_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 105, + "y": 222, + "w": 21, + "h": 23 + } + }, + { + "filename": "mystic_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 23 + }, + "frame": { + "x": 107, + "y": 245, + "w": 20, + "h": 23 + } + }, + { + "filename": "petaya_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 107, + "y": 268, + "w": 22, + "h": 23 + } + }, + { + "filename": "poison_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 108, + "y": 291, + "w": 22, + "h": 23 + } + }, + { + "filename": "psychic_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 108, + "y": 314, + "w": 22, + "h": 23 + } + }, + { + "filename": "reaper_cloth", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 23 + }, + "frame": { + "x": 108, + "y": 337, + "w": 22, + "h": 23 + } + }, + { + "filename": "deep_sea_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 108, + "y": 360, + "w": 22, + "h": 20 + } + }, { "filename": "beedrillite", "rotated": false, @@ -6408,12 +3153,285 @@ "h": 16 }, "frame": { - "x": 321, - "y": 297, + "x": 117, + "y": 380, "w": 16, "h": 16 } }, + { + "filename": "pp_up", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 124, + "y": 91, + "w": 16, + "h": 24 + } + }, + { + "filename": "protein", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 124, + "y": 115, + "w": 16, + "h": 24 + } + }, + { + "filename": "everstone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 17 + }, + "frame": { + "x": 124, + "y": 139, + "w": 20, + "h": 17 + } + }, + { + "filename": "candy_jar", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 125, + "y": 156, + "w": 19, + "h": 20 + } + }, + { + "filename": "rock_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 123, + "y": 176, + "w": 22, + "h": 23 + } + }, + { + "filename": "sharp_beak", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 21, + "h": 23 + }, + "frame": { + "x": 124, + "y": 199, + "w": 21, + "h": 23 + } + }, + { + "filename": "steel_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 126, + "y": 222, + "w": 22, + "h": 23 + } + }, + { + "filename": "stellar_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 127, + "y": 245, + "w": 22, + "h": 23 + } + }, + { + "filename": "water_tera_shard", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 129, + "y": 268, + "w": 22, + "h": 23 + } + }, + { + "filename": "whipped_dream", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 21, + "h": 23 + }, + "frame": { + "x": 130, + "y": 291, + "w": 21, + "h": 23 + } + }, + { + "filename": "wide_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 4, + "w": 22, + "h": 23 + }, + "frame": { + "x": 130, + "y": 314, + "w": 22, + "h": 23 + } + }, + { + "filename": "charcoal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 130, + "y": 337, + "w": 22, + "h": 22 + } + }, + { + "filename": "liechi_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 130, + "y": 359, + "w": 22, + "h": 21 + } + }, { "filename": "blastoisinite", "rotated": false, @@ -6429,8 +3447,8 @@ "h": 16 }, "frame": { - "x": 309, - "y": 313, + "x": 133, + "y": 380, "w": 16, "h": 16 } @@ -6450,12 +3468,915 @@ "h": 16 }, "frame": { - "x": 325, - "y": 313, + "x": 149, + "y": 380, "w": 16, "h": 16 } }, + { + "filename": "dusk_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 140, + "y": 77, + "w": 21, + "h": 21 + } + }, + { + "filename": "dire_hit", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 140, + "y": 98, + "w": 22, + "h": 22 + } + }, + { + "filename": "dubious_disc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 140, + "y": 120, + "w": 22, + "h": 19 + } + }, + { + "filename": "relic_crown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 18 + }, + "frame": { + "x": 161, + "y": 80, + "w": 23, + "h": 18 + } + }, + { + "filename": "pair_of_tickets", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 7, + "w": 23, + "h": 19 + }, + "frame": { + "x": 184, + "y": 80, + "w": 23, + "h": 19 + } + }, + { + "filename": "dna_splicers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 162, + "y": 98, + "w": 22, + "h": 22 + } + }, + { + "filename": "rusted_sword", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 22 + }, + "frame": { + "x": 184, + "y": 99, + "w": 23, + "h": 22 + } + }, + { + "filename": "electirizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 207, + "y": 86, + "w": 22, + "h": 22 + } + }, + { + "filename": "enigma_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 229, + "y": 86, + "w": 22, + "h": 22 + } + }, + { + "filename": "fairy_feather", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 20 + }, + "frame": { + "x": 162, + "y": 120, + "w": 22, + "h": 20 + } + }, + { + "filename": "sachet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 4, + "w": 18, + "h": 23 + }, + "frame": { + "x": 144, + "y": 139, + "w": 18, + "h": 23 + } + }, + { + "filename": "ganlon_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 162, + "y": 140, + "w": 22, + "h": 22 + } + }, + { + "filename": "guard_spec", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 184, + "y": 121, + "w": 22, + "h": 22 + } + }, + { + "filename": "ice_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 184, + "y": 143, + "w": 22, + "h": 22 + } + }, + { + "filename": "shell_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 23, + "h": 20 + }, + "frame": { + "x": 251, + "y": 89, + "w": 23, + "h": 20 + } + }, + { + "filename": "wellspring_mask", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 5, + "w": 23, + "h": 21 + }, + "frame": { + "x": 274, + "y": 89, + "w": 23, + "h": 21 + } + }, + { + "filename": "shock_drive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 207, + "y": 108, + "w": 23, + "h": 17 + } + }, + { + "filename": "magmarizer", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 206, + "y": 125, + "w": 22, + "h": 22 + } + }, + { + "filename": "malicious_armor", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 206, + "y": 147, + "w": 22, + "h": 20 + } + }, + { + "filename": "masterpiece_teacup", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 21, + "h": 18 + }, + "frame": { + "x": 230, + "y": 108, + "w": 21, + "h": 18 + } + }, + { + "filename": "memory_bug", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 228, + "y": 126, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_dark", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 228, + "y": 148, + "w": 22, + "h": 22 + } + }, + { + "filename": "wise_glasses", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 4, + "y": 8, + "w": 23, + "h": 17 + }, + "frame": { + "x": 251, + "y": 109, + "w": 23, + "h": 17 + } + }, + { + "filename": "memory_dragon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 126, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_electric", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 148, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_fairy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 274, + "y": 110, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_fighting", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 272, + "y": 132, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_fire", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 272, + "y": 154, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_flying", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 145, + "y": 162, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_ghost", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 145, + "y": 184, + "w": 22, + "h": 22 + } + }, + { + "filename": "super_lure", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 17, + "h": 24 + }, + "frame": { + "x": 167, + "y": 162, + "w": 17, + "h": 24 + } + }, + { + "filename": "memory_grass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 184, + "y": 165, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_ground", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 206, + "y": 167, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 228, + "y": 170, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_normal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 170, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_normal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 170, + "w": 22, + "h": 22 + } + }, + { + "filename": "golden_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 167, + "y": 186, + "w": 17, + "h": 20 + } + }, + { + "filename": "memory_poison", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 184, + "y": 187, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_psychic", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 206, + "y": 189, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 228, + "y": 192, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_steel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 250, + "y": 192, + "w": 22, + "h": 22 + } + }, + { + "filename": "memory_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 272, + "y": 176, + "w": 22, + "h": 22 + } + }, + { + "filename": "mini_black_hole", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 272, + "y": 198, + "w": 22, + "h": 22 + } + }, { "filename": "cameruptite", "rotated": false, @@ -6471,12 +4392,1692 @@ "h": 16 }, "frame": { - "x": 311, - "y": 329, + "x": 145, + "y": 206, "w": 16, "h": 16 } }, + { + "filename": "protector", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 161, + "y": 206, + "w": 22, + "h": 22 + } + }, + { + "filename": "scroll_of_darkness", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 183, + "y": 209, + "w": 22, + "h": 22 + } + }, + { + "filename": "scroll_of_waters", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 205, + "y": 211, + "w": 22, + "h": 22 + } + }, + { + "filename": "shed_shell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 227, + "y": 214, + "w": 22, + "h": 22 + } + }, + { + "filename": "starf_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 249, + "y": 214, + "w": 22, + "h": 22 + } + }, + { + "filename": "sweet_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 271, + "y": 220, + "w": 22, + "h": 21 + } + }, + { + "filename": "repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 294, + "y": 132, + "w": 16, + "h": 24 + } + }, + { + "filename": "super_repel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 294, + "y": 156, + "w": 16, + "h": 24 + } + }, + { + "filename": "unknown", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 294, + "y": 180, + "w": 16, + "h": 24 + } + }, + { + "filename": "dawn_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 21 + }, + "frame": { + "x": 310, + "y": 87, + "w": 20, + "h": 21 + } + }, + { + "filename": "berry_pot", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 18, + "h": 22 + }, + "frame": { + "x": 296, + "y": 110, + "w": 18, + "h": 22 + } + }, + { + "filename": "zinc", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 4, + "w": 16, + "h": 24 + }, + "frame": { + "x": 314, + "y": 108, + "w": 16, + "h": 24 + } + }, + { + "filename": "thunder_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 330, + "y": 105, + "w": 22, + "h": 22 + } + }, + { + "filename": "hard_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 310, + "y": 132, + "w": 20, + "h": 22 + } + }, + { + "filename": "tm_bug", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 330, + "y": 127, + "w": 22, + "h": 22 + } + }, + { + "filename": "sitrus_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 5, + "w": 20, + "h": 22 + }, + "frame": { + "x": 310, + "y": 154, + "w": 20, + "h": 22 + } + }, + { + "filename": "tm_dark", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 330, + "y": 149, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_dragon", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 352, + "y": 107, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_electric", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 109, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fairy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 352, + "y": 129, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_fighting", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 131, + "w": 22, + "h": 22 + } + }, + { + "filename": "syrupy_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 352, + "y": 151, + "w": 22, + "h": 21 + } + }, + { + "filename": "tm_fire", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 153, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_flying", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 310, + "y": 176, + "w": 22, + "h": 22 + } + }, + { + "filename": "gb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 332, + "y": 171, + "w": 20, + "h": 20 + } + }, + { + "filename": "tart_apple", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 21 + }, + "frame": { + "x": 352, + "y": 172, + "w": 22, + "h": 21 + } + }, + { + "filename": "tm_ghost", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 175, + "w": 22, + "h": 22 + } + }, + { + "filename": "big_mushroom", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 19 + }, + "frame": { + "x": 294, + "y": 204, + "w": 19, + "h": 19 + } + }, + { + "filename": "lum_berry", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 293, + "y": 223, + "w": 20, + "h": 19 + } + }, + { + "filename": "tm_grass", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 313, + "y": 198, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_ground", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 313, + "y": 220, + "w": 22, + "h": 22 + } + }, + { + "filename": "hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 335, + "y": 191, + "w": 17, + "h": 23 + } + }, + { + "filename": "tm_ice", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 352, + "y": 193, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_poison", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 197, + "w": 22, + "h": 22 + } + }, + { + "filename": "potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 335, + "y": 214, + "w": 17, + "h": 23 + } + }, + { + "filename": "tm_psychic", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 352, + "y": 215, + "w": 22, + "h": 22 + } + }, + { + "filename": "tm_rock", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 219, + "w": 22, + "h": 22 + } + }, + { + "filename": "tera_orb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 22, + "h": 20 + }, + "frame": { + "x": 335, + "y": 237, + "w": 22, + "h": 20 + } + }, + { + "filename": "lucky_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 17, + "h": 20 + }, + "frame": { + "x": 357, + "y": 237, + "w": 17, + "h": 20 + } + }, + { + "filename": "tm_steel", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 374, + "y": 241, + "w": 22, + "h": 22 + } + }, + { + "filename": "candy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 11, + "w": 18, + "h": 18 + }, + "frame": { + "x": 165, + "y": 228, + "w": 18, + "h": 18 + } + }, + { + "filename": "tm_water", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 183, + "y": 231, + "w": 22, + "h": 22 + } + }, + { + "filename": "water_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 205, + "y": 233, + "w": 22, + "h": 22 + } + }, + { + "filename": "upgrade", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 22, + "h": 19 + }, + "frame": { + "x": 227, + "y": 236, + "w": 22, + "h": 19 + } + }, + { + "filename": "x_accuracy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 249, + "y": 236, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_attack", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 271, + "y": 241, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_defense", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 293, + "y": 242, + "w": 22, + "h": 22 + } + }, + { + "filename": "magnet", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 315, + "y": 242, + "w": 20, + "h": 20 + } + }, + { + "filename": "x_sp_atk", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 149, + "y": 246, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_sp_def", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 151, + "y": 268, + "w": 22, + "h": 22 + } + }, + { + "filename": "x_speed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 5, + "w": 22, + "h": 22 + }, + "frame": { + "x": 151, + "y": 290, + "w": 22, + "h": 22 + } + }, + { + "filename": "poison_barb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 152, + "y": 312, + "w": 21, + "h": 21 + } + }, + { + "filename": "shiny_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 152, + "y": 333, + "w": 21, + "h": 21 + } + }, + { + "filename": "zoom_lens", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 6, + "w": 21, + "h": 21 + }, + "frame": { + "x": 152, + "y": 354, + "w": 21, + "h": 21 + } + }, + { + "filename": "mystery_egg", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 8, + "w": 16, + "h": 18 + }, + "frame": { + "x": 149, + "y": 228, + "w": 16, + "h": 18 + } + }, + { + "filename": "metal_alloy", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 21, + "h": 19 + }, + "frame": { + "x": 335, + "y": 257, + "w": 21, + "h": 19 + } + }, + { + "filename": "oval_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 19 + }, + "frame": { + "x": 356, + "y": 257, + "w": 18, + "h": 19 + } + }, + { + "filename": "mb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 315, + "y": 262, + "w": 20, + "h": 20 + } + }, + { + "filename": "sharp_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 21, + "h": 18 + }, + "frame": { + "x": 374, + "y": 263, + "w": 21, + "h": 18 + } + }, + { + "filename": "unremarkable_teacup", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 5, + "y": 7, + "w": 21, + "h": 18 + }, + "frame": { + "x": 335, + "y": 276, + "w": 21, + "h": 18 + } + }, + { + "filename": "dark_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 356, + "y": 276, + "w": 18, + "h": 18 + } + }, + { + "filename": "pb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 374, + "y": 281, + "w": 20, + "h": 20 + } + }, + { + "filename": "full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 4, + "w": 15, + "h": 23 + }, + "frame": { + "x": 173, + "y": 282, + "w": 15, + "h": 23 + } + }, + { + "filename": "super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 23 + }, + "frame": { + "x": 173, + "y": 305, + "w": 17, + "h": 23 + } + }, + { + "filename": "metronome", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 173, + "y": 328, + "w": 17, + "h": 22 + } + }, + { + "filename": "soothe_bell", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 17, + "h": 22 + }, + "frame": { + "x": 173, + "y": 350, + "w": 17, + "h": 22 + } + }, + { + "filename": "light_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 7, + "w": 18, + "h": 18 + }, + "frame": { + "x": 173, + "y": 264, + "w": 18, + "h": 18 + } + }, + { + "filename": "relic_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 11, + "w": 15, + "h": 11 + }, + "frame": { + "x": 171, + "y": 253, + "w": 15, + "h": 11 + } + }, + { + "filename": "leftovers", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 5, + "w": 15, + "h": 22 + }, + "frame": { + "x": 188, + "y": 282, + "w": 15, + "h": 22 + } + }, + { + "filename": "hard_stone", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 19, + "h": 20 + }, + "frame": { + "x": 190, + "y": 304, + "w": 19, + "h": 20 + } + }, + { + "filename": "pb_gold", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 190, + "y": 324, + "w": 20, + "h": 20 + } + }, + { + "filename": "rb", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 190, + "y": 344, + "w": 20, + "h": 20 + } + }, + { + "filename": "miracle_seed", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 19, + "h": 19 + }, + "frame": { + "x": 191, + "y": 263, + "w": 19, + "h": 19 + } + }, + { + "filename": "smooth_meteorite", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 210, + "y": 255, + "w": 20, + "h": 20 + } + }, + { + "filename": "razor_fang", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 7, + "y": 6, + "w": 18, + "h": 20 + }, + "frame": { + "x": 230, + "y": 255, + "w": 18, + "h": 20 + } + }, + { + "filename": "razor_claw", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 7, + "w": 20, + "h": 19 + }, + "frame": { + "x": 248, + "y": 258, + "w": 20, + "h": 19 + } + }, + { + "filename": "strange_ball", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 268, + "y": 263, + "w": 20, + "h": 20 + } + }, + { + "filename": "ub", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 6, + "w": 20, + "h": 20 + }, + "frame": { + "x": 288, + "y": 264, + "w": 20, + "h": 20 + } + }, + { + "filename": "wl_ability_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 190, + "y": 364, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_antidote", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 210, + "y": 275, + "w": 20, + "h": 18 + } + }, { "filename": "charizardite_x", "rotated": false, @@ -6492,12 +6093,222 @@ "h": 16 }, "frame": { - "x": 311, - "y": 345, + "x": 230, + "y": 275, "w": 16, "h": 16 } }, + { + "filename": "wl_awakening", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 246, + "y": 277, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_burn_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 266, + "y": 283, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_custom_spliced", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 286, + "y": 284, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_custom_thief", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 209, + "y": 293, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 210, + "y": 311, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 210, + "y": 329, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_full_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 210, + "y": 347, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_full_restore", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 210, + "y": 365, + "w": 20, + "h": 18 + } + }, + { + "filename": "candy_overlay", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 8, + "y": 12, + "w": 16, + "h": 15 + }, + "frame": { + "x": 230, + "y": 291, + "w": 16, + "h": 15 + } + }, + { + "filename": "wl_guard_spec", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 246, + "y": 295, + "w": 20, + "h": 18 + } + }, { "filename": "charizardite_y", "rotated": false, @@ -6513,12 +6324,117 @@ "h": 16 }, "frame": { - "x": 327, - "y": 329, + "x": 230, + "y": 306, "w": 16, "h": 16 } }, + { + "filename": "wl_hyper_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 230, + "y": 322, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_ice_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 230, + "y": 340, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_item_drop", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 230, + "y": 358, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_item_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 266, + "y": 301, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_elixir", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 286, + "y": 302, + "w": 20, + "h": 18 + } + }, { "filename": "diancite", "rotated": false, @@ -6534,12 +6450,96 @@ "h": 16 }, "frame": { - "x": 327, - "y": 345, + "x": 250, + "y": 313, "w": 16, "h": 16 } }, + { + "filename": "wl_max_ether", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 250, + "y": 329, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 250, + "y": 347, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_max_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 250, + "y": 365, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_paralyze_heal", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 230, + "y": 376, + "w": 20, + "h": 18 + } + }, { "filename": "galladite", "rotated": false, @@ -6555,12 +6555,33 @@ "h": 16 }, "frame": { - "x": 331, - "y": 217, + "x": 270, + "y": 319, "w": 16, "h": 16 } }, + { + "filename": "wl_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 286, + "y": 320, + "w": 20, + "h": 18 + } + }, { "filename": "garchompite", "rotated": false, @@ -6576,12 +6597,75 @@ "h": 16 }, "frame": { - "x": 347, - "y": 216, + "x": 270, + "y": 335, "w": 16, "h": 16 } }, + { + "filename": "wl_reset_urge", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 270, + "y": 351, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_revive", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 270, + "y": 369, + "w": 20, + "h": 18 + } + }, + { + "filename": "wl_super_potion", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 6, + "y": 8, + "w": 20, + "h": 18 + }, + "frame": { + "x": 165, + "y": 375, + "w": 20, + "h": 18 + } + }, { "filename": "gardevoirite", "rotated": false, @@ -6597,8 +6681,8 @@ "h": 16 }, "frame": { - "x": 334, - "y": 233, + "x": 290, + "y": 338, "w": 16, "h": 16 } @@ -6618,8 +6702,8 @@ "h": 16 }, "frame": { - "x": 334, - "y": 249, + "x": 290, + "y": 354, "w": 16, "h": 16 } @@ -6639,8 +6723,8 @@ "h": 16 }, "frame": { - "x": 337, - "y": 265, + "x": 290, + "y": 370, "w": 16, "h": 16 } @@ -6660,8 +6744,8 @@ "h": 16 }, "frame": { - "x": 337, - "y": 281, + "x": 306, + "y": 284, "w": 16, "h": 16 } @@ -6681,8 +6765,8 @@ "h": 16 }, "frame": { - "x": 337, - "y": 297, + "x": 306, + "y": 300, "w": 16, "h": 16 } @@ -6702,8 +6786,8 @@ "h": 16 }, "frame": { - "x": 341, - "y": 313, + "x": 306, + "y": 316, "w": 16, "h": 16 } @@ -6723,8 +6807,8 @@ "h": 16 }, "frame": { - "x": 343, - "y": 329, + "x": 306, + "y": 332, "w": 16, "h": 16 } @@ -6744,8 +6828,8 @@ "h": 16 }, "frame": { - "x": 343, - "y": 345, + "x": 306, + "y": 348, "w": 16, "h": 16 } @@ -6765,8 +6849,8 @@ "h": 16 }, "frame": { - "x": 350, - "y": 232, + "x": 306, + "y": 364, "w": 16, "h": 16 } @@ -6786,8 +6870,8 @@ "h": 16 }, "frame": { - "x": 350, - "y": 248, + "x": 306, + "y": 380, "w": 16, "h": 16 } @@ -6807,8 +6891,8 @@ "h": 16 }, "frame": { - "x": 363, - "y": 216, + "x": 322, + "y": 294, "w": 16, "h": 16 } @@ -6828,8 +6912,8 @@ "h": 16 }, "frame": { - "x": 379, - "y": 197, + "x": 338, + "y": 294, "w": 16, "h": 16 } @@ -6849,8 +6933,8 @@ "h": 16 }, "frame": { - "x": 379, - "y": 213, + "x": 322, + "y": 310, "w": 16, "h": 16 } @@ -6870,8 +6954,8 @@ "h": 16 }, "frame": { - "x": 379, - "y": 229, + "x": 354, + "y": 294, "w": 16, "h": 16 } @@ -6891,8 +6975,8 @@ "h": 16 }, "frame": { - "x": 353, - "y": 264, + "x": 322, + "y": 326, "w": 16, "h": 16 } @@ -6912,8 +6996,8 @@ "h": 16 }, "frame": { - "x": 353, - "y": 280, + "x": 338, + "y": 310, "w": 16, "h": 16 } @@ -6933,8 +7017,8 @@ "h": 16 }, "frame": { - "x": 353, - "y": 296, + "x": 322, + "y": 342, "w": 16, "h": 16 } @@ -6954,8 +7038,8 @@ "h": 16 }, "frame": { - "x": 357, - "y": 312, + "x": 338, + "y": 326, "w": 16, "h": 16 } @@ -6975,8 +7059,8 @@ "h": 16 }, "frame": { - "x": 359, - "y": 328, + "x": 354, + "y": 310, "w": 16, "h": 16 } @@ -6996,8 +7080,8 @@ "h": 16 }, "frame": { - "x": 359, - "y": 344, + "x": 322, + "y": 358, "w": 16, "h": 16 } @@ -7017,8 +7101,8 @@ "h": 16 }, "frame": { - "x": 366, - "y": 245, + "x": 338, + "y": 342, "w": 16, "h": 16 } @@ -7038,8 +7122,8 @@ "h": 16 }, "frame": { - "x": 369, - "y": 261, + "x": 354, + "y": 326, "w": 16, "h": 16 } @@ -7059,8 +7143,8 @@ "h": 16 }, "frame": { - "x": 369, - "y": 277, + "x": 322, + "y": 374, "w": 16, "h": 16 } @@ -7080,8 +7164,8 @@ "h": 16 }, "frame": { - "x": 369, - "y": 293, + "x": 338, + "y": 358, "w": 16, "h": 16 } @@ -7101,8 +7185,8 @@ "h": 16 }, "frame": { - "x": 373, - "y": 309, + "x": 354, + "y": 342, "w": 16, "h": 16 } @@ -7122,8 +7206,8 @@ "h": 16 }, "frame": { - "x": 375, - "y": 325, + "x": 338, + "y": 374, "w": 16, "h": 16 } @@ -7143,8 +7227,8 @@ "h": 16 }, "frame": { - "x": 375, - "y": 341, + "x": 354, + "y": 358, "w": 16, "h": 16 } @@ -7164,8 +7248,8 @@ "h": 16 }, "frame": { - "x": 375, - "y": 357, + "x": 354, + "y": 374, "w": 16, "h": 16 } @@ -7185,8 +7269,8 @@ "h": 16 }, "frame": { - "x": 359, - "y": 360, + "x": 370, + "y": 301, "w": 16, "h": 16 } @@ -7206,8 +7290,8 @@ "h": 16 }, "frame": { - "x": 375, - "y": 373, + "x": 370, + "y": 317, "w": 16, "h": 16 } @@ -7227,8 +7311,8 @@ "h": 16 }, "frame": { - "x": 312, - "y": 361, + "x": 370, + "y": 333, "w": 16, "h": 16 } @@ -7248,8 +7332,8 @@ "h": 16 }, "frame": { - "x": 328, - "y": 361, + "x": 370, + "y": 349, "w": 16, "h": 16 } @@ -7269,11 +7353,32 @@ "h": 16 }, "frame": { - "x": 312, - "y": 377, + "x": 370, + "y": 365, "w": 16, "h": 16 } + }, + { + "filename": "prism_scale", + "rotated": false, + "trimmed": true, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 9, + "y": 8, + "w": 15, + "h": 15 + }, + "frame": { + "x": 370, + "y": 381, + "w": 15, + "h": 15 + } } ] } @@ -7281,6 +7386,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5e107075b02043b9293b3010d1d1d751:152a3263fda6e8ea193cdf4a11078173:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:196f5914078b8435a7bf36e950263dac:47250d3d95167f73038d290f7a73b96e:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index 9a29493495f235fd7856db02d1babe907d5ecb11..bd2b9f3760e86c18a659c0ba19cc14b75a1d76c8 100644 GIT binary patch literal 50554 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 h{_p;e|3sJ4mI~^S}Zrpf~ zS@w;yTDlvkl(!_vFPPy!63}IFTnm)==;`7ZQZXkv#euo!1}n>bZlgWoHT>cUA`IOB z|1*dth$Q?uf8xL617;5vC512k9S`>%s%>cyia2ds!_?Eo^WIK@+d$LcPj!RN0+uaL z<+>UK{@127e)`TN|DU@|X(h+sy`~AKF|5qV))P)@T=>ZNPF%4ypzZ4acgieBxEi0F z{>j0}SeD7QpYy*Ulkw@sCp{%C-*+DolGyRgRbkEDAGS>kvmXVkG=351>D@emwXW6Z zjh73D#~G3G{}#LL*UC+AP%yt;^S}R6&S&O(k41j$V$}Fh${fQW;wkSqkyX4xpF^bL nyuuGTxtl$IH^w%;>;;2*f+2eZ;=y?WDS3j3^P6d1Q7=A z|Nj|86GRgJoImm3@d2|3i;}_@|Bi?I4%N0a2t}N>tzqiv;(2eUz-^#u@Ta;#X93HW zr*d5l0{?4M8b5t!lK;CfWa|khH7REaGZTde2a*aWZ3`R{Q?5oER*z~ zE3>fNSStBP?TD`!|1|ef6=Bz>{rfKK|Fpohkf5Zux=hybg`)r5`XY@c6~irL*Hewc~;V p)ocg9e>jo$eFXZQ!PC{xWt~$(698-mu44cI literal 0 HcmV?d00001 diff --git a/public/images/items/ultra_ribbon.png b/public/images/items/ultra_ribbon.png new file mode 100644 index 0000000000000000000000000000000000000000..69dc7365bb497ebee74718de20d5433146e01e37 GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv#^NA%C&rs6b?Si}&H|6fVg?3o zVGw3ym^DWND5xIb6XFV_Jv;)QJb7~WZiIq@!v9wcKYsk^>5<*IF`_Y>wWDLkjT;XZ zwX<4I`DX!C%3BiT7tHV<3Fxvot_4cG_jGX#shE?T;=tTtOz&`j!J{iWDrBWgq_4+sMMUu2PUAdwX49!i!xyL_8Bda@-+Q8L^%x!V)@S_hzZ7?o@qHmz&0PkOAG;X!7`m49FF4V}y+@pdYfrjB l4S#=*+rR!l@*9rZF?9Z}QEZ7`G!y7`22WQ%mvv4FO#oNUq3-|y literal 0 HcmV?d00001 diff --git a/public/images/ui/champion_ribbon.png b/public/images/ui/champion_ribbon.png new file mode 100644 index 0000000000000000000000000000000000000000..96e36075d8f86330f3705aea42b083eb21987682 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~!A+hnjv*4^rM=c%hXMp#-&g|ZW}d?7i?KTxqq*0{Hf0F4>L~cWVKEfCa%Yc=G`BvFOxn8w7S98@lKX^Xiz*M; z*&A*yk#+vhXSM9zdY((KC#^eqBd;hk^HuuI_Apz9etUHx3vIVCg!01qT)%m4rY literal 0 HcmV?d00001 diff --git a/public/images/ui/legacy/champion_ribbon.png b/public/images/ui/legacy/champion_ribbon.png new file mode 100644 index 0000000000000000000000000000000000000000..96e36075d8f86330f3705aea42b083eb21987682 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PI@#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~!A+hnjv*4^rM=c%hXMp#-&g|ZW}d?7i?KTxqq*0{Hf0F4>L~cWVKEfCa%Yc=G`BvFOxn8w7S98@lKX^Xiz*M; z*&A*yk#+vhXSM9zdY((KC#^eqBd;hk^HuuI_Apz9etUHx3vIVCg!01qT)%m4rY literal 0 HcmV?d00001 diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index da67cd700b7..9ac3aec53ac 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1708,18 +1708,19 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { }); } - cry(soundConfig?: Phaser.Types.Sound.SoundConfig): AnySound { - const cry = this.getSpeciesForm().cry(this.scene, soundConfig); + cry(soundConfig?: Phaser.Types.Sound.SoundConfig, sceneOverride?: BattleScene): AnySound { + const scene = sceneOverride || this.scene; + const cry = this.getSpeciesForm().cry(scene, soundConfig); let duration = cry.totalDuration * 1000; if (this.fusionSpecies) { - let fusionCry = this.getFusionSpeciesForm().cry(this.scene, soundConfig, true); + let fusionCry = this.getFusionSpeciesForm().cry(scene, soundConfig, true); duration = Math.min(duration, fusionCry.totalDuration * 1000); fusionCry.destroy(); - this.scene.time.delayedCall(Utils.fixedInt(Math.ceil(duration * 0.4)), () => { + scene.time.delayedCall(Utils.fixedInt(Math.ceil(duration * 0.4)), () => { try { - SoundFade.fadeOut(this.scene, cry, Utils.fixedInt(Math.ceil(duration * 0.2))); - fusionCry = this.getFusionSpeciesForm().cry(this.scene, Object.assign({ seek: Math.max(fusionCry.totalDuration * 0.4, 0) }, soundConfig)); - SoundFade.fadeIn(this.scene, fusionCry, Utils.fixedInt(Math.ceil(duration * 0.2)), this.scene.masterVolume * this.scene.seVolume, 0); + SoundFade.fadeOut(scene, cry, Utils.fixedInt(Math.ceil(duration * 0.2))); + fusionCry = this.getFusionSpeciesForm().cry(scene, Object.assign({ seek: Math.max(fusionCry.totalDuration * 0.4, 0) }, soundConfig)); + SoundFade.fadeIn(scene, fusionCry, Utils.fixedInt(Math.ceil(duration * 0.2)), scene.masterVolume * scene.seVolume, 0); } catch (err) { console.error(err); } diff --git a/src/loading-scene.ts b/src/loading-scene.ts index 88e60fb9c74..a7d68ef98d4 100644 --- a/src/loading-scene.ts +++ b/src/loading-scene.ts @@ -77,6 +77,7 @@ export class LoadingScene extends SceneBase { this.loadImage('shiny_star_small_1', 'ui', 'shiny_small_1.png'); this.loadImage('shiny_star_small_2', 'ui', 'shiny_small_2.png'); this.loadImage('ha_capsule', 'ui', 'ha_capsule.png'); + this.loadImage('champion_ribbon', 'ui', 'champion_ribbon.png'); this.loadImage('icon_spliced', 'ui'); this.loadImage('icon_tera', 'ui'); this.loadImage('type_tera', 'ui'); diff --git a/src/phases.ts b/src/phases.ts index fc6af354a2d..b079d6c61e6 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -1,4 +1,4 @@ -import BattleScene, { bypassLogin, startingWave } from "./battle-scene"; +import BattleScene, { AnySound, bypassLogin, startingWave } from "./battle-scene"; import { default as Pokemon, PlayerPokemon, EnemyPokemon, PokemonMove, MoveResult, DamageResult, FieldPosition, HitResult, TurnMove } from "./field/pokemon"; import * as Utils from './utils'; import { Moves } from "./data/enums/moves"; @@ -55,7 +55,7 @@ import { OptionSelectConfig, OptionSelectItem } from "./ui/abstact-option-select import { SaveSlotUiMode } from "./ui/save-slot-select-ui-handler"; import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run"; import { GameModes, gameModes } from "./game-mode"; -import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species"; +import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarters } from "./data/pokemon-species"; import i18next from './plugins/i18n'; import { Abilities } from "./data/enums/abilities"; import { STARTER_FORM_OVERRIDE, STARTER_SPECIES_OVERRIDE } from './overrides'; @@ -3472,8 +3472,40 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase { } } +export class RibbonModifierRewardPhase extends ModifierRewardPhase { + private species: PokemonSpecies; + + constructor(scene: BattleScene, modifierTypeFunc: ModifierTypeFunc, species: PokemonSpecies) { + super(scene, modifierTypeFunc); + + this.species = species; + } + + doReward(): Promise { + return new Promise(resolve => { + const newModifier = this.modifierType.newModifier(); + this.scene.addModifier(newModifier).then(() => { + this.scene.gameData.saveSystem().then(success => { + if (success) { + this.scene.playSound('level_up_fanfare'); + this.scene.ui.setMode(Mode.MESSAGE); + this.scene.arenaBg.setVisible(false); + this.scene.ui.fadeIn(250).then(() => { + this.scene.ui.showText(`${this.species.name} beat classic for the first time!\nYou received ${newModifier.type.name}!`, null, () => { + resolve(); + }, null, true, 1500); + }); + } else + this.scene.reset(true); + }); + }); + }) + } +} + export class GameOverPhase extends BattlePhase { private victory: boolean; + private firstRibbons: PokemonSpecies[] = []; constructor(scene: BattleScene, victory?: boolean) { super(scene); @@ -3525,6 +3557,13 @@ export class GameOverPhase extends BattlePhase { if (this.scene.gameMode.isClassic) { firstClear = this.scene.validateAchv(achvs.CLASSIC_VICTORY); this.scene.gameData.gameStats.sessionsWon++; + for (let pokemon of this.scene.getParty()) { + this.awardRibbon(pokemon); + + if (pokemon.species.getRootSpeciesId() != pokemon.species.getRootSpeciesId(true)) { + this.awardRibbon(pokemon, true); + } + } } else if (this.scene.gameMode.isDaily && success[1]) this.scene.gameData.gameStats.dailyRunSessionsWon++; } @@ -3536,8 +3575,11 @@ export class GameOverPhase extends BattlePhase { this.scene.clearPhaseQueue(); this.scene.ui.clearText(); this.handleUnlocks(); - if (this.victory && !firstClear && success[1]) + if (this.victory && !firstClear && success[1]) { + for (let species of this.firstRibbons) + this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); + } this.scene.reset(); this.scene.unshiftPhase(new TitlePhase(this.scene)); this.end(); @@ -3556,6 +3598,15 @@ export class GameOverPhase extends BattlePhase { this.scene.unshiftPhase(new UnlockPhase(this.scene, Unlockables.MINI_BLACK_HOLE)); } } + + awardRibbon(pokemon: Pokemon, forStarter: boolean = false): void { + const speciesId = getPokemonSpecies(pokemon.species.speciesId) + const speciesRibbonCount = this.scene.gameData.incrementRibbonCount(speciesId, forStarter); + // first time classic win, award voucher + if (speciesRibbonCount === 1) { + this.firstRibbons.push(getPokemonSpecies(pokemon.species.getRootSpeciesId(forStarter))); + } + } } export class UnlockPhase extends Phase { diff --git a/src/system/achv.ts b/src/system/achv.ts index bcf857069ee..9a6e43965d6 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -51,9 +51,9 @@ export class Achv { } getTier(): AchvTier { - if (this.score >= 150) - return AchvTier.MASTER; if (this.score >= 100) + return AchvTier.MASTER; + if (this.score >= 75) return AchvTier.ROGUE; if (this.score >= 50) return AchvTier.ULTRA; @@ -73,6 +73,16 @@ export class MoneyAchv extends Achv { } } +export class RibbonAchv extends Achv { + private ribbonAmount: integer; + + constructor(name: string, ribbonAmount: integer, iconImage: string, score: integer) { + super(name, `Accumulate a total of ${ribbonAmount.toLocaleString('en-US')} Ribbons`, iconImage, score, (scene: BattleScene, _args: any[]) => scene.gameData.gameStats.ribbonsOwned >= this.ribbonAmount); + + this.ribbonAmount = ribbonAmount; + } +} + export class DamageAchv extends Achv { private damageAmount: integer; @@ -125,6 +135,11 @@ export const achvs = { LV_100: new LevelAchv('But Wait, There\'s More!', 100, 'rare_candy', 25).setSecret(), LV_250: new LevelAchv('Elite', 250, 'rarer_candy', 50).setSecret(true), LV_1000: new LevelAchv('To Go Even Further Beyond', 1000, 'candy_jar', 100).setSecret(true), + _10_RIBBONS: new RibbonAchv('Pokémon League Champion', 10, 'bronze_ribbon', 10), + _25_RIBBONS: new RibbonAchv('Great League Champion', 25, 'great_ribbon', 25).setSecret(true), + _50_RIBBONS: new RibbonAchv('Ultra League Champion', 50, 'ultra_ribbon', 50).setSecret(true), + _75_RIBBONS: new RibbonAchv('Rogue League Champion', 75, 'rogue_ribbon', 75).setSecret(true), + _100_RIBBONS: new RibbonAchv('Master League Champion', 100, 'master_ribbon', 100).setSecret(true), TRANSFER_MAX_BATTLE_STAT: new Achv('Teamwork', 'Baton pass to another party member with at least one stat maxed out', 'stick', 20), MAX_FRIENDSHIP: new Achv('Friendmaxxing', 'Reach max friendship on a Pokémon', 'soothe_bell', 25), MEGA_EVOLVE: new Achv('Megamorph', 'Mega evolve a Pokémon', 'mega_bracelet', 50), diff --git a/src/system/game-data.ts b/src/system/game-data.ts index bf548681005..fff09f83f33 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -173,6 +173,7 @@ export interface StarterDataEntry { abilityAttr: integer; passiveAttr: integer; valueReduction: integer; + classicWinCount: integer; } export interface StarterData { @@ -194,7 +195,8 @@ const systemShortKeys = { eggMoves: '$em', candyCount: '$x', passive: '$p', - valueReduction: '$vr' + valueReduction: '$vr', + classicWinCount: '$wc' }; export class GameData { @@ -995,7 +997,8 @@ export class GameData { friendship: 0, abilityAttr: defaultStarterSpecies.includes(speciesId) ? AbilityAttr.ABILITY_1 : 0, passiveAttr: 0, - valueReduction: 0 + valueReduction: 0, + classicWinCount: 0 }; } @@ -1089,6 +1092,32 @@ export class GameData { }); } + incrementRibbonCount(species: PokemonSpecies, forStarter: boolean = false): integer { + const speciesIdToIncrement: Species = species.getRootSpeciesId(forStarter); + + if (!this.starterData[speciesIdToIncrement].classicWinCount) { + this.starterData[speciesIdToIncrement].classicWinCount = 0; + } + + if (!this.starterData[speciesIdToIncrement].classicWinCount) + this.scene.gameData.gameStats.ribbonsOwned++; + + const ribbonsInStats: integer = this.scene.gameData.gameStats.ribbonsOwned; + + if (ribbonsInStats >= 100) + this.scene.validateAchv(achvs._100_RIBBONS); + if (ribbonsInStats >= 75) + this.scene.validateAchv(achvs._75_RIBBONS); + if (ribbonsInStats >= 50) + this.scene.validateAchv(achvs._50_RIBBONS); + if (ribbonsInStats >= 25) + this.scene.validateAchv(achvs._25_RIBBONS); + if (ribbonsInStats >= 10) + this.scene.validateAchv(achvs._10_RIBBONS); + + return ++this.starterData[speciesIdToIncrement].classicWinCount; + } + addStarterCandy(species: PokemonSpecies, count: integer): void { this.scene.candyBar.showStarterSpeciesCandy(species.speciesId, count); this.starterData[species.speciesId].candyCount += count; diff --git a/src/system/game-stats.ts b/src/system/game-stats.ts index bf25b0e881d..c67bd6d2350 100644 --- a/src/system/game-stats.ts +++ b/src/system/game-stats.ts @@ -6,6 +6,7 @@ export class GameStats { public battles: integer; public classicSessionsPlayed: integer; public sessionsWon: integer; + public ribbonsOwned: integer; public dailyRunSessionsPlayed: integer; public dailyRunSessionsWon: integer; public endlessSessionsPlayed: integer; @@ -43,6 +44,7 @@ export class GameStats { this.battles = source?.battles || 0; this.classicSessionsPlayed = source?.classicSessionsPlayed || 0; this.sessionsWon = source?.sessionsWon || 0; + this.ribbonsOwned = source?.ribbonsOwned || 0; this.dailyRunSessionsPlayed = source?.dailyRunSessionsPlayed || 0; this.dailyRunSessionsWon = source?.dailyRunSessionsWon || 0; this.endlessSessionsPlayed = source?.endlessSessionsPlayed || 0; diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts index 6b067912cd8..c053d5700ac 100644 --- a/src/ui/game-stats-ui-handler.ts +++ b/src/ui/game-stats-ui-handler.ts @@ -51,6 +51,7 @@ const displayStats: DisplayStats = { return `${caughtCount} (${Math.floor((caughtCount / Object.keys(gameData.dexData).length) * 1000) / 10}%)`; } }, + ribbonsOwned: 'Ribbons Owned', classicSessionsPlayed: 'Classic Runs', sessionsWon: 'Classic Wins', dailyRunSessionsPlayed: 'Daily Run Attempts', diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts index aa97b655a6b..0de2ba9ac98 100644 --- a/src/ui/starter-select-ui-handler.ts +++ b/src/ui/starter-select-ui-handler.ts @@ -174,6 +174,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { private starterValueLabels: Phaser.GameObjects.Text[]; private shinyIcons: Phaser.GameObjects.Image[][]; private hiddenAbilityIcons: Phaser.GameObjects.Image[]; + private classicWinIcons: Phaser.GameObjects.Image[]; private iconAnimHandler: PokemonIconAnimHandler; @@ -410,6 +411,17 @@ export default class StarterSelectUiHandler extends MessageUiHandler { return ret; }); + this.classicWinIcons = new Array(81).fill(null).map((_, i) => { + const x = (i % 9) * 18; + const y = Math.floor(i / 9) * 18; + const ret = this.scene.add.image(x + 152, y + 16, 'champion_ribbon'); + ret.setOrigin(0, 0); + ret.setScale(0.5); + ret.setVisible(false); + this.starterSelectContainer.add(ret); + return ret; + }); + this.pokemonSprite = this.scene.add.sprite(53, 63, `pkmn__sub`); this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true }); this.starterSelectContainer.add(this.pokemonSprite); @@ -1192,6 +1204,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler { this.shinyIcons[s][v].setTint(getVariantTint(speciesVariants[v] === DexAttr.DEFAULT_VARIANT ? 0 : speciesVariants[v] === DexAttr.VARIANT_2 ? 1 : 2)); } this.hiddenAbilityIcons[s].setVisible(slotVisible && !!this.scene.gameData.dexData[speciesId].caughtAttr && !!(this.scene.gameData.starterData[speciesId].abilityAttr & 4)); + this.classicWinIcons[s].setVisible(slotVisible && this.scene.gameData.starterData[speciesId].classicWinCount > 0); } } else { changed = super.setCursor(cursor); From fd0f21943ef0235422720ff1df000c2636e96987 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Mon, 6 May 2024 23:47:20 -0500 Subject: [PATCH 26/38] Implement Supersweet Syrup ability Uses the new once per battle condition. --- src/data/ability.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 7f82ad01bbf..92b26ea1551 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3608,7 +3608,8 @@ export function initAbilities() { .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [Type.NORMAL, Type.FIGHTING]) .ignorable(), // TODO: evasiveness bypass should not be ignored, but accuracy immunity should new Ability(Abilities.SUPERSWEET_SYRUP, 9) - .unimplemented(), + .attr(PostSummonStatChangeAbAttr, BattleStat.EVA, -1) + .condition(getOncePerBattleCondition(Abilities.SUPERSWEET_SYRUP)), new Ability(Abilities.HOSPITALITY, 9) .attr(PostSummonAllyHealAbAttr, 4, true), new Ability(Abilities.TOXIC_CHAIN, 9) From b9ce5cfaaa132a10103d696735a923e0339af2b0 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 7 May 2024 00:58:36 -0400 Subject: [PATCH 27/38] Mints permanently unlock natures --- public/images/items.json | 2 +- public/images/items.png | Bin 50554 -> 50853 bytes src/modifier/modifier-type.ts | 2 +- src/modifier/modifier.ts | 12 +++++++++--- src/phases.ts | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/public/images/items.json b/public/images/items.json index a454f9f1a15..939b3927e7a 100644 --- a/public/images/items.json +++ b/public/images/items.json @@ -7386,6 +7386,6 @@ "meta": { "app": "https://www.codeandweb.com/texturepacker", "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:196f5914078b8435a7bf36e950263dac:47250d3d95167f73038d290f7a73b96e:110e074689c9edd2c54833ce2e4d9270$" + "smartupdate": "$TexturePacker:SmartUpdate:e6d832697add1029764f6145e5fa98b7:47250d3d95167f73038d290f7a73b96e:110e074689c9edd2c54833ce2e4d9270$" } } diff --git a/public/images/items.png b/public/images/items.png index bd2b9f3760e86c18a659c0ba19cc14b75a1d76c8..7ddd284fac7dbb81a9734e37a5316daca79876d2 100644 GIT binary patch literal 50853 zcmYhh1yGyM^FJOeSg-;ixE3!2cQ3)Mc#8#>A}#KLV1+=j7I%sk_ZA86TA)~q6$+(T zDG;Ra64t42aZM+5)>NHo-+J_7)-Q2%uToCnU` zPlo^i00*G2ZKSI0^6G)Z!@(^qB*enPa({oXuC9N0eD***JVC+lpit=T?c&PD=E2pC zzJZ~&O~{YkeJu@*tE-!#p~2DV9~sZ(M<-`(Us%6QNV>i1|JMF@8?&)~f_aynasR_J zts8UOP%%-htEi%K$-`5>e0(>mjX5^|edIH>_2>F@%Oehj`CD_g^S*Utu_uGCtVH|f z{?GiywSP#+;L$%-X~~QAUeuSpZ%dYU=rg0jipw9n5zcfq$&tC27qOvXd*f8q(814p-8gk#%h+``XXNhm?)x3aHCzBS*!#J|NW$3X zmETu+m4YO?fe!I!DCLbv(EU}~=!9=T@py!W`au7`-0adysJCA-&vcIb#eVzT4Fn4$mbRx{#gQDUbH8&z#ty}JRs~=MOojte{*2) z^i5;c(B)0|`_UM61MjNq6(bL?CdY*-qb74@-^w`abdHb*?#NEx+X7Bg(sG(5ZQ!@cAOI6>4L&bjCp*5!P1zXei3q3|QHk~ppvfIO(2w_)dQ`%drMtMRS zsN(ESj&dcR?3eUU@H8qLOB%&C;sk>w+?XBSxtoHdnSSX3V)XFmoRQ>pC3NOyZ}??; z%_lII7}wQGvwPN;6{1F=^H!>SPGRab7O|}AYWPGBX{lo7Oht0ZwAKAHb#3fI`gtCS zv89I#K;-jG*AVc3N`Ln_RiZ$b;(<%(rEcyG0Fc4|>sS>E#=a}~S0}3D_NT4dq4bMa;jkAj=ydfQ~^ zXXXpp#lJXKU+#0HjvGQfYf4K$X?TZ(xmSYqWkxoA``FpovP&qwS5l%C$xlWcZV2St z&ol~S`nCKtb-)mSy_{h6!o z|5hYC(${zzdOn#Li+v~*M9!Noa}o~;{?z%#2jC3-oS+%=i7-4tqh zapgAenLq}nGCxV!m=g_mS5cl6y_g-THdy z<0HbDJ9WMa-ppsugAZ5Id0I^9_&GVtI$FIWm?ZJry_apGszl8w(2_xaiMg1vW7apD z7!dH1-pf#WTxfjWr3)*-uC?IjV;t1@)J^sx7Ah~y${T|ADlGc&p-b9pquRygx!VOf z5f`N8aTA>un&;GRi})^mWsVO4A4_*L^;mOm{3NRef%y=qk>*)!Nvt`PV1ar2eow4+h)jPv24t35D(Hu8D0XxWhBxs%A?0`f;@J$)@enMRV~GA- zP6B&^ZudK!`=Hc}Q4>3Y2dWTd)&QSbFR$5x6B6}8@Vuq7)^$h|3m zA5L49Sv(JM|0=4Yx%kJmwes zkUJ7bQ1K6n!@Zf*z_`b`&VYo+0!&YQyb)M>$S{fUXHUvL*dmGa?ic6Qi%$w$ur{23PBDIXjfa#=w~An|)TwijZzw|

{shFohoxN( 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%0A!W@ja9E0zZt4em+`~oF!WT!JI1iQWFv%_3`u} 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 v#_^W1 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 new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), + super(`${getNatureName(nature)} Mint`, `Changes a Pokémon\'s nature to ${getNatureName(nature, true, true, true)} and permanently unlocks the nature for the starter.`, ((_type, args) => new Modifiers.PokemonNatureChangeModifier(this, (args[0] as PlayerPokemon).id, this.nature)), ((pokemon: PlayerPokemon) => { if (pokemon.getNature() === this.nature) return PartyUiHandler.NoEffectMessage; diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts index 88b009d3a48..2d76bec3496 100644 --- a/src/modifier/modifier.ts +++ b/src/modifier/modifier.ts @@ -8,15 +8,14 @@ import { Stat } from "../data/pokemon-stat"; import { addTextObject, TextStyle } from "../ui/text"; import { Type } from '../data/type'; import { EvolutionPhase } from '../evolution-phase'; -import { FusionSpeciesFormEvolution, pokemonEvolutions } from '../data/pokemon-evolutions'; +import { FusionSpeciesFormEvolution, pokemonEvolutions, pokemonPrevolutions } from '../data/pokemon-evolutions'; import { getPokemonMessage } from '../messages'; import * as Utils from "../utils"; import { TempBattleStat } from '../data/temp-battle-stat'; import { BerryType, getBerryEffectFunc, getBerryPredicate } from '../data/berry'; import { StatusEffect, getStatusEffectHealText } from '../data/status-effect'; -import { MoneyAchv, achvs } from '../system/achv'; +import { achvs } from '../system/achv'; import { VoucherType } from '../system/voucher'; -import { PreventBerryUseAbAttr, applyAbAttrs } from '../data/ability'; import { FormChangeItem, SpeciesFormChangeItemTrigger } from '../data/pokemon-forms'; import { Nature } from '#app/data/nature'; import { BattlerTagType } from '#app/data/enums/battler-tag-type'; @@ -1090,6 +1089,13 @@ export class PokemonNatureChangeModifier extends ConsumablePokemonModifier { apply(args: any[]): boolean { const pokemon = args[0] as Pokemon; pokemon.natureOverride = this.nature; + let speciesId = pokemon.species.speciesId; + pokemon.scene.gameData.dexData[speciesId].natureAttr |= Math.pow(2, this.nature + 1); + + while (pokemonPrevolutions.hasOwnProperty(speciesId)) { + speciesId = pokemonPrevolutions[speciesId]; + pokemon.scene.gameData.dexData[speciesId].natureAttr |= Math.pow(2, this.nature + 1); + } return true; } diff --git a/src/phases.ts b/src/phases.ts index b079d6c61e6..59022f5fe5e 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3491,7 +3491,7 @@ export class RibbonModifierRewardPhase extends ModifierRewardPhase { this.scene.ui.setMode(Mode.MESSAGE); this.scene.arenaBg.setVisible(false); this.scene.ui.fadeIn(250).then(() => { - this.scene.ui.showText(`${this.species.name} beat classic for the first time!\nYou received ${newModifier.type.name}!`, null, () => { + this.scene.ui.showText(`${this.species.name} beat ${this.scene.gameMode.getName()} Mode for the first time!\nYou received ${newModifier.type.name}!`, null, () => { resolve(); }, null, true, 1500); }); From 02b2c2d55b36561889298dd6f71a6e5fcbc6d4a9 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 7 May 2024 10:15:40 -0400 Subject: [PATCH 28/38] Ribbons are also awarded for first clear --- src/phases.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/phases.ts b/src/phases.ts index 59022f5fe5e..9ed1161f7b8 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3575,10 +3575,11 @@ export class GameOverPhase extends BattlePhase { this.scene.clearPhaseQueue(); this.scene.ui.clearText(); this.handleUnlocks(); - if (this.victory && !firstClear && success[1]) { + if (this.victory && success[1]) { for (let species of this.firstRibbons) this.scene.unshiftPhase(new RibbonModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PLUS, species)); - this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); + if (!firstClear) + this.scene.unshiftPhase(new GameOverModifierRewardPhase(this.scene, modifierTypes.VOUCHER_PREMIUM)); } this.scene.reset(); this.scene.unshiftPhase(new TitlePhase(this.scene)); From cc3113ff436b3a5433b4de62350850ba9574ae03 Mon Sep 17 00:00:00 2001 From: Xavion3 Date: Wed, 8 May 2024 01:22:50 +1000 Subject: [PATCH 29/38] Fix revive weight cap --- src/modifier/modifier-type.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index b28759f2350..249ad52dd0c 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1004,7 +1004,7 @@ const modifierPool: ModifierPool = { new WeightedModifierType(modifierTypes.REVIVE, (party: Pokemon[]) => { const faintedPartyMemberCount = Math.min(party.filter(p => p.isFainted()).length, 3); return faintedPartyMemberCount * 9; - }, 3), + }, 27), new WeightedModifierType(modifierTypes.MAX_REVIVE, (party: Pokemon[]) => { const faintedPartyMemberCount = Math.min(party.filter(p => p.isFainted()).length, 3); return faintedPartyMemberCount * 3; From 4fcea107abb4fa5332ed032b3c996e72ed7ece55 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+TempsRay@users.noreply.github.com> Date: Tue, 7 May 2024 13:10:48 -0400 Subject: [PATCH 30/38] Fix wrong stat displayed for mythicals hatched (#601) --- src/system/game-stats.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/game-stats.ts b/src/system/game-stats.ts index c67bd6d2350..4c3f40e5d1e 100644 --- a/src/system/game-stats.ts +++ b/src/system/game-stats.ts @@ -66,7 +66,7 @@ export class GameStats { this.legendaryPokemonHatched = source?.legendaryPokemonHatched || 0; this.mythicalPokemonSeen = source?.mythicalPokemonSeen || 0; this.mythicalPokemonCaught = source?.mythicalPokemonCaught || 0; - this.mythicalPokemonHatched = source?.mythicalPokemonCaught || 0; + this.mythicalPokemonHatched = source?.mythicalPokemonHatched || 0; this.shinyPokemonSeen = source?.shinyPokemonSeen || 0; this.shinyPokemonCaught = source?.shinyPokemonCaught || 0; this.shinyPokemonHatched = source?.shinyPokemonHatched || 0; From 72b4552b018566d701956f69b10badd60e4fa01a Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 7 May 2024 13:36:52 -0400 Subject: [PATCH 31/38] Don't update user info on save for optimization --- src/system/game-data.ts | 86 +++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/src/system/game-data.ts b/src/system/game-data.ts index fff09f83f33..60fe7ac8e02 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -250,58 +250,52 @@ export class GameData { public saveSystem(): Promise { return new Promise(resolve => { this.scene.ui.savingIcon.show(); - updateUserInfo().then(response => { - if (!response[0]) { - this.scene.ui.savingIcon.hide(); - return resolve(false); - } - const data: SystemSaveData = { - trainerId: this.trainerId, - secretId: this.secretId, - gender: this.gender, - dexData: this.dexData, - starterData: this.starterData, - gameStats: this.gameStats, - unlocks: this.unlocks, - achvUnlocks: this.achvUnlocks, - voucherUnlocks: this.voucherUnlocks, - voucherCounts: this.voucherCounts, - eggs: this.eggs.map(e => new EggData(e)), - gameVersion: this.scene.game.config.gameVersion, - timestamp: new Date().getTime() - }; + const data: SystemSaveData = { + trainerId: this.trainerId, + secretId: this.secretId, + gender: this.gender, + dexData: this.dexData, + starterData: this.starterData, + gameStats: this.gameStats, + unlocks: this.unlocks, + achvUnlocks: this.achvUnlocks, + voucherUnlocks: this.voucherUnlocks, + voucherCounts: this.voucherCounts, + eggs: this.eggs.map(e => new EggData(e)), + gameVersion: this.scene.game.config.gameVersion, + timestamp: new Date().getTime() + }; - const maxIntAttrValue = Math.pow(2, 31); - const systemData = JSON.stringify(data, (k: any, v: any) => typeof v === 'bigint' ? v <= maxIntAttrValue ? Number(v) : v.toString() : v); + const maxIntAttrValue = Math.pow(2, 31); + const systemData = JSON.stringify(data, (k: any, v: any) => typeof v === 'bigint' ? v <= maxIntAttrValue ? Number(v) : v.toString() : v); - if (!bypassLogin) { - Utils.apiPost(`savedata/update?datatype=${GameDataType.SYSTEM}`, systemData, undefined, true) - .then(response => response.text()) - .then(error => { - this.scene.ui.savingIcon.hide(); - if (error) { - if (error.startsWith('client version out of date')) { - this.scene.clearPhaseQueue(); - this.scene.unshiftPhase(new OutdatedPhase(this.scene)); - } else if (error.startsWith('session out of date')) { - this.scene.clearPhaseQueue(); - this.scene.unshiftPhase(new ReloadSessionPhase(this.scene)); - } - console.error(error); - return resolve(false); + if (!bypassLogin) { + Utils.apiPost(`savedata/update?datatype=${GameDataType.SYSTEM}`, systemData, undefined, true) + .then(response => response.text()) + .then(error => { + this.scene.ui.savingIcon.hide(); + if (error) { + if (error.startsWith('client version out of date')) { + this.scene.clearPhaseQueue(); + this.scene.unshiftPhase(new OutdatedPhase(this.scene)); + } else if (error.startsWith('session out of date')) { + this.scene.clearPhaseQueue(); + this.scene.unshiftPhase(new ReloadSessionPhase(this.scene)); } - resolve(true); - }); - } else { - localStorage.setItem('data_bak', localStorage.getItem('data')); + console.error(error); + return resolve(false); + } + resolve(true); + }); + } else { + localStorage.setItem('data_bak', localStorage.getItem('data')); - localStorage.setItem('data', btoa(systemData)); + localStorage.setItem('data', btoa(systemData)); - this.scene.ui.savingIcon.hide(); + this.scene.ui.savingIcon.hide(); - resolve(true); - } - }); + resolve(true); + } }); } From bd839a1ffb64361ff1da12f98016b0c7c01b3ab2 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Tue, 7 May 2024 13:42:07 -0500 Subject: [PATCH 32/38] FIx Sceptile and Blaziken Learnsets (#606) These got missed in the transition from looking at Serebii and Bulbapedia for data. --- src/data/pokemon-level-moves.ts | 36 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/data/pokemon-level-moves.ts b/src/data/pokemon-level-moves.ts index 79530d98546..2823170b13d 100644 --- a/src/data/pokemon-level-moves.ts +++ b/src/data/pokemon-level-moves.ts @@ -4305,12 +4305,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [Species.GROVYLE]: [ [ 1, Moves.POUND ], [ 1, Moves.LEER ], + [ 1, Moves.LEAFAGE ], [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.FALSE_SWIPE ], [ 1, Moves.FURY_CUTTER ], [ 1, Moves.X_SCISSOR ], - [ 1, Moves.ENERGY_BALL ], - [ 1, Moves.LEAFAGE ], + [ 1, Moves.ENERGY_BALL ], [ 9, Moves.MEGA_DRAIN ], [ 12, Moves.DETECT ], [ 15, Moves.QUICK_GUARD ], @@ -4324,15 +4324,16 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 55, Moves.LEAF_STORM ], ], [Species.SCEPTILE]: [ - [ 0, Moves.DUAL_CHOP ], + [ 0, Moves.LEAF_BLADE ], [ 1, Moves.POUND ], [ 1, Moves.LEER ], + [ 1, Moves.LEAFAGE ], [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.FALSE_SWIPE ], [ 1, Moves.FURY_CUTTER ], [ 1, Moves.X_SCISSOR ], - [ 1, Moves.ENERGY_BALL ], - [ 1, Moves.LEAFAGE ], + [ 1, Moves.ENERGY_BALL ], + [ 1, Moves.SHED_TAIL ], [ 5, Moves.MEGA_DRAIN ], [ 12, Moves.DETECT ], [ 15, Moves.QUICK_GUARD ], @@ -4340,10 +4341,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 25, Moves.GIGA_DRAIN ], [ 30, Moves.SLAM ], [ 35, Moves.DOUBLE_TEAM ], - [ 42, Moves.LEAF_BLADE ], - [ 49, Moves.SCREECH ], - [ 56, Moves.ENDEAVOR ], - [ 63, Moves.LEAF_STORM ], + [ 42, Moves.SCREECH ], + [ 49, Moves.ENDEAVOR ], + [ 56, Moves.LEAF_STORM ], ], [Species.TORCHIC]: [ [ 1, Moves.SCRATCH ], @@ -4367,9 +4367,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.SCRATCH ], [ 1, Moves.GROWL ], [ 1, Moves.EMBER ], + [ 1, Moves.QUICK_ATTACK ], [ 1, Moves.FLAMETHROWER ], - [ 1, Moves.QUICK_ATTACK ], - [ 1, Moves.FEATHER_DANCE ], + [ 1, Moves.FEATHER_DANCE ], [ 9, Moves.FLAME_CHARGE ], [ 12, Moves.DETECT ], [ 15, Moves.SAND_ATTACK ], @@ -4399,10 +4399,10 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 25, Moves.SLASH ], [ 30, Moves.BOUNCE ], [ 35, Moves.FOCUS_ENERGY ], - [ 42, Moves.BLAZE_KICK ], - [ 49, Moves.BULK_UP ], - [ 56, Moves.REVERSAL ], - [ 63, Moves.FLARE_BLITZ ], + [ 42, Moves.BULK_UP ], + [ 49, Moves.REVERSAL ], + [ 56, Moves.FLARE_BLITZ ], + [ 63, Moves.BRAVE_BIRD ], ], [Species.MUDKIP]: [ [ 1, Moves.TACKLE ], @@ -4426,8 +4426,6 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], [ 1, Moves.WATER_GUN ], - [ 1, Moves.SURF ], - [ 1, Moves.EARTHQUAKE ], [ 1, Moves.ROCK_SMASH ], [ 9, Moves.ROCK_THROW ], [ 12, Moves.PROTECT ], @@ -4442,13 +4440,13 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = { [ 55, Moves.HYDRO_PUMP ], ], [Species.SWAMPERT]: [ + [ 1, Moves.MUD_SHOT ], [ 1, Moves.TACKLE ], [ 1, Moves.GROWL ], [ 1, Moves.WATER_GUN ], [ 1, Moves.SURF ], [ 1, Moves.EARTHQUAKE ], - [ 1, Moves.ROCK_SMASH ], - [ 1, Moves.MUD_SHOT ], + [ 1, Moves.ROCK_SMASH ], [ 1, Moves.HAMMER_ARM ], [ 9, Moves.ROCK_THROW ], [ 12, Moves.PROTECT ], From 08067d993747cf14da03fe3b4ca537397bfd4e6b Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 7 May 2024 16:16:22 -0400 Subject: [PATCH 33/38] Revert "Revert API URL change" This reverts commit 4ef670733320ba23e1fa44e7abe28515a17f5f35. --- src/utils.ts | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 822f02f053e..ef277630dc4 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -222,7 +222,8 @@ export function executeIf(condition: boolean, promiseFunc: () => Promise): export const sessionIdKey = 'pokerogue_sessionId'; export const isLocal = window.location.hostname === 'localhost'; export const serverUrl = isLocal ? 'http://localhost:8001' : ''; -export const apiUrl = isLocal ? serverUrl : 'api'; +export const apiUrl = isLocal ? serverUrl : 'https://api.pokerogue.net'; +export const fallbackApiUrl = isLocal ? serverUrl : 'api'; export function setCookie(cName: string, cValue: string): void { const expiration = new Date(); @@ -243,7 +244,7 @@ export function getCookie(cName: string): string { return ''; } -export function apiFetch(path: string, authed: boolean = false): Promise { +export function apiFetch(path: string, authed: boolean = false, fallback: boolean = false): Promise { return new Promise((resolve, reject) => { const request = {}; if (authed) { @@ -251,13 +252,22 @@ export function apiFetch(path: string, authed: boolean = false): Promise resolve(response)) - .catch(err => reject(err)); + fetch(`${!fallback ? apiUrl : fallbackApiUrl}/${path}`, request) + .then(response => { + if (!response.ok && response.status === 404 && !fallback) + return apiFetch(path, authed, true).then(res => resolve(res)); + resolve(response); + }) + .catch(err => { + if (fallback) + reject(err); + else + apiFetch(path, authed, true).then(res => resolve(res)); + }); }); } -export function apiPost(path: string, data?: any, contentType: string = 'application/json', authed: boolean = false): Promise { +export function apiPost(path: string, data?: any, contentType: string = 'application/json', authed: boolean = false, fallback: boolean = false): Promise { return new Promise((resolve, reject) => { const headers = { 'Accept': contentType, @@ -268,9 +278,14 @@ export function apiPost(path: string, data?: any, contentType: string = 'applica if (sId) headers['Authorization'] = sId; } - fetch(`${apiUrl}/${path}`, { method: 'POST', headers: headers, body: data }) + fetch(`${!fallback ? apiUrl : fallbackApiUrl}/${path}`, { method: 'POST', headers: headers, body: data }) .then(response => resolve(response)) - .catch(err => reject(err)); + .catch(err => { + if (fallback) + reject(err); + else + apiPost(path, data, contentType, authed, true).then(res => resolve(res)); + }); }); } From 1c9b65125d2a60e747f18b22339807e49ec35f90 Mon Sep 17 00:00:00 2001 From: Madmadness65 Date: Tue, 7 May 2024 23:01:54 -0500 Subject: [PATCH 34/38] Fix Bouncy Bubble targeting & Hau encounter dialogue --- src/data/dialogue.ts | 3 ++- src/data/move.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts index 8fd9fc12560..ec9fde7eb92 100644 --- a/src/data/dialogue.ts +++ b/src/data/dialogue.ts @@ -1639,7 +1639,8 @@ export const trainerTypeDialogue = { }, [TrainerType.HAU]: { encounter: [ - `I wonder if a Trainer battles differently depending on whether they're from a warm region or a cold region. Let's test it out!`, + `I wonder if a Trainer battles differently depending on whether they're from a warm region or a cold region. + $Let's test it out!`, ], victory: [ `That was awesome! I think I kinda understand your vibe a little better now!`, diff --git a/src/data/move.ts b/src/data/move.ts index af4ce4fa619..802a3f047b8 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -5978,7 +5978,8 @@ export function initMoves() { .attr(FriendshipPowerAttr), new AttackMove(Moves.BOUNCY_BUBBLE, Type.WATER, MoveCategory.SPECIAL, 60, 100, 20, -1, 0, 7) .attr(HitHealAttr, 1.0) - .triageMove(), + .triageMove() + .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.BUZZY_BUZZ, Type.ELECTRIC, MoveCategory.SPECIAL, 60, 100, 20, 100, 0, 7) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), new AttackMove(Moves.SIZZLY_SLIDE, Type.FIRE, MoveCategory.PHYSICAL, 60, 100, 20, 100, 0, 7) From ce3d12d58eb75a54e167f8d2e1818bb6e5c03109 Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Tue, 7 May 2024 23:18:19 -0500 Subject: [PATCH 35/38] Added hyperlinks to Moves, Abilities, and Species enums (#586) * Added hyperlinks to Moves enum Yes, I'm aware of what this looks like in the file itself, but it enables a nice neat little hyperlink shown below to the bulbapedia page when you hover over a move. I feel like the added convenience is worth making the file harder to read considering nobody is ever going to touch that file anyway. I plan on adding a python script to finish the rest of them, but didn't want to actually sink time into this if we absolutely despise it. * Added Python Script Created a python script to add comments with a url to abilities.ts, moves.ts, and species.ts using regex --- public/update-source-omments.py | 55 ++ src/data/enums/abilities.ts | 313 ++++++++- src/data/enums/moves.ts | 920 ++++++++++++++++++++++++++ src/data/enums/species.ts | 1082 +++++++++++++++++++++++++++++++ 4 files changed, 2369 insertions(+), 1 deletion(-) create mode 100644 public/update-source-omments.py diff --git a/public/update-source-omments.py b/public/update-source-omments.py new file mode 100644 index 00000000000..34f0c28dd4c --- /dev/null +++ b/public/update-source-omments.py @@ -0,0 +1,55 @@ +import re + +filenames = [['src/data/enums/moves.ts', 'move'], ['src/data/enums/abilities.ts', 'ability'], ['src/data/enums/species.ts', 'Pokémon']] + +commentBlockStart = re.compile('\/\*[^\*].*') # Regex for the start of a comment block +commentBlockEnd = re.compile('.*,\*\/') # Regex for the end of a comment block + +commentExp = re.compile('(?:\/\*\*.*\*\/)') # Regex for a url comment that already existed in the file +enumExp = re.compile('.*,') # Regex for a regular enum line + +numberExp = re.compile(' +\= +\d+,') + +replaceList = ['ALOLA', 'ETERNAL', 'GALAR', 'HISUI', 'PALDEA', 'BLOODMOON'] + +for args in filenames: + + output = '' + + skip = False # True when we should completely stop adding url comments for any reason + blockComment = False # True when currently reading a comment block + + file = open(args[0], 'r') + line = file.readline() + + while line: + if(skip): # Appends the next line in the file and moves on if we already hit the end of the enum + output += line + line = file.readline() + continue + + skip = line.find('};') != -1 # True if we reached the end of an enum definition + + # Determines when a comment block has started and we should stop adding url comments + if (commentBlockStart.findall(line)): + blockComment = True + + if(not commentExp.findall(line)): + urlInsert = numberExp.sub('', line).strip().rstrip('\n').rstrip(',').title() # Clean up the enum line to only the enum + for replace in replaceList: + urlInsert = urlInsert.replace(replace.title() + '_', '') + if (not blockComment and enumExp.findall(line)): + output += ' /**{@link https://bulbapedia.bulbagarden.net/wiki/' + urlInsert + '_(' + args[1] + ') | Source} */\n' + output += line # Add the line to output since it isn't an existing url comment + + # Determines if we're at the end of a comment block and can resume adding url comments + if (blockComment): + blockComment = not commentBlockEnd.findall(line) + + line = file.readline() + + file.close() + + file = open(args[0], 'w', encoding='utf-8') + file.write(output,) + file.close \ No newline at end of file diff --git a/src/data/enums/abilities.ts b/src/data/enums/abilities.ts index 4be87d8181b..4bf1b4984a9 100644 --- a/src/data/enums/abilities.ts +++ b/src/data/enums/abilities.ts @@ -1,313 +1,624 @@ export enum Abilities { + /**{@link https://bulbapedia.bulbagarden.net/wiki/None_(ability) | Source} */ NONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stench_(ability) | Source} */ STENCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drizzle_(ability) | Source} */ DRIZZLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Speed_Boost_(ability) | Source} */ SPEED_BOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Armor_(ability) | Source} */ BATTLE_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sturdy_(ability) | Source} */ STURDY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Damp_(ability) | Source} */ DAMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Limber_(ability) | Source} */ LIMBER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Veil_(ability) | Source} */ SAND_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Static_(ability) | Source} */ STATIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volt_Absorb_(ability) | Source} */ VOLT_ABSORB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Absorb_(ability) | Source} */ WATER_ABSORB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oblivious_(ability) | Source} */ OBLIVIOUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cloud_Nine_(ability) | Source} */ CLOUD_NINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Compound_Eyes_(ability) | Source} */ COMPOUND_EYES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Insomnia_(ability) | Source} */ INSOMNIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Color_Change_(ability) | Source} */ COLOR_CHANGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Immunity_(ability) | Source} */ IMMUNITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flash_Fire_(ability) | Source} */ FLASH_FIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shield_Dust_(ability) | Source} */ SHIELD_DUST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Own_Tempo_(ability) | Source} */ OWN_TEMPO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Suction_Cups_(ability) | Source} */ SUCTION_CUPS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Intimidate_(ability) | Source} */ INTIMIDATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(ability) | Source} */ SHADOW_TAG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rough_Skin_(ability) | Source} */ ROUGH_SKIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Guard_(ability) | Source} */ WONDER_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Levitate_(ability) | Source} */ LEVITATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Effect_Spore_(ability) | Source} */ EFFECT_SPORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Synchronize_(ability) | Source} */ SYNCHRONIZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clear_Body_(ability) | Source} */ CLEAR_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Natural_Cure_(ability) | Source} */ NATURAL_CURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lightning_Rod_(ability) | Source} */ LIGHTNING_ROD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Serene_Grace_(ability) | Source} */ SERENE_GRACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swift_Swim_(ability) | Source} */ SWIFT_SWIM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chlorophyll_(ability) | Source} */ CHLOROPHYLL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Illuminate_(ability) | Source} */ ILLUMINATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trace_(ability) | Source} */ TRACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Huge_Power_(ability) | Source} */ HUGE_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Point_(ability) | Source} */ POISON_POINT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inner_Focus_(ability) | Source} */ INNER_FOCUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magma_Armor_(ability) | Source} */ MAGMA_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Veil_(ability) | Source} */ WATER_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Pull_(ability) | Source} */ MAGNET_PULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Soundproof_(ability) | Source} */ SOUNDPROOF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dish_(ability) | Source} */ RAIN_DISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Stream_(ability) | Source} */ SAND_STREAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pressure_(ability) | Source} */ PRESSURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thick_Fat_(ability) | Source} */ THICK_FAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Early_Bird_(ability) | Source} */ EARLY_BIRD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Body_(ability) | Source} */ FLAME_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Run_Away_(ability) | Source} */ RUN_AWAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Keen_Eye_(ability) | Source} */ KEEN_EYE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Cutter_(ability) | Source} */ HYPER_CUTTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pickup_(ability) | Source} */ PICKUP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Truant_(ability) | Source} */ TRUANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hustle_(ability) | Source} */ HUSTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cute_Charm_(ability) | Source} */ CUTE_CHARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Plus_(ability) | Source} */ PLUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minus_(ability) | Source} */ MINUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Forecast_(ability) | Source} */ FORECAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Hold_(ability) | Source} */ STICKY_HOLD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shed_Skin_(ability) | Source} */ SHED_SKIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guts_(ability) | Source} */ GUTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marvel_Scale_(ability) | Source} */ MARVEL_SCALE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Ooze_(ability) | Source} */ LIQUID_OOZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Overgrow_(ability) | Source} */ OVERGROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blaze_(ability) | Source} */ BLAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torrent_(ability) | Source} */ TORRENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swarm_(ability) | Source} */ SWARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Head_(ability) | Source} */ ROCK_HEAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drought_(ability) | Source} */ DROUGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arena_Trap_(ability) | Source} */ ARENA_TRAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vital_Spirit_(ability) | Source} */ VITAL_SPIRIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/White_Smoke_(ability) | Source} */ WHITE_SMOKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pure_Power_(ability) | Source} */ PURE_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Armor_(ability) | Source} */ SHELL_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Air_Lock_(ability) | Source} */ AIR_LOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tangled_Feet_(ability) | Source} */ TANGLED_FEET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Motor_Drive_(ability) | Source} */ MOTOR_DRIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rivalry_(ability) | Source} */ RIVALRY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steadfast_(ability) | Source} */ STEADFAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Cloak_(ability) | Source} */ SNOW_CLOAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gluttony_(ability) | Source} */ GLUTTONY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Point_(ability) | Source} */ ANGER_POINT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unburden_(ability) | Source} */ UNBURDEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heatproof_(ability) | Source} */ HEATPROOF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Simple_(ability) | Source} */ SIMPLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dry_Skin_(ability) | Source} */ DRY_SKIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Download_(ability) | Source} */ DOWNLOAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Fist_(ability) | Source} */ IRON_FIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Heal_(ability) | Source} */ POISON_HEAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Adaptability_(ability) | Source} */ ADAPTABILITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skill_Link_(ability) | Source} */ SKILL_LINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydration_(ability) | Source} */ HYDRATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solar_Power_(ability) | Source} */ SOLAR_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Feet_(ability) | Source} */ QUICK_FEET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Normalize_(ability) | Source} */ NORMALIZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sniper_(ability) | Source} */ SNIPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(ability) | Source} */ MAGIC_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/No_Guard_(ability) | Source} */ NO_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stall_(ability) | Source} */ STALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Technician_(ability) | Source} */ TECHNICIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Guard_(ability) | Source} */ LEAF_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klutz_(ability) | Source} */ KLUTZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mold_Breaker_(ability) | Source} */ MOLD_BREAKER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Super_Luck_(ability) | Source} */ SUPER_LUCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aftermath_(ability) | Source} */ AFTERMATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Anticipation_(ability) | Source} */ ANTICIPATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Forewarn_(ability) | Source} */ FOREWARN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unaware_(ability) | Source} */ UNAWARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tinted_Lens_(ability) | Source} */ TINTED_LENS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Filter_(ability) | Source} */ FILTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slow_Start_(ability) | Source} */ SLOW_START, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scrappy_(ability) | Source} */ SCRAPPY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Storm_Drain_(ability) | Source} */ STORM_DRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Body_(ability) | Source} */ ICE_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solid_Rock_(ability) | Source} */ SOLID_ROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snow_Warning_(ability) | Source} */ SNOW_WARNING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Honey_Gather_(ability) | Source} */ HONEY_GATHER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frisk_(ability) | Source} */ FRISK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reckless_(ability) | Source} */ RECKLESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Multitype_(ability) | Source} */ MULTITYPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Gift_(ability) | Source} */ FLOWER_GIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bad_Dreams_(ability) | Source} */ BAD_DREAMS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pickpocket_(ability) | Source} */ PICKPOCKET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Force_(ability) | Source} */ SHEER_FORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Contrary_(ability) | Source} */ CONTRARY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unnerve_(ability) | Source} */ UNNERVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Defiant_(ability) | Source} */ DEFIANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Defeatist_(ability) | Source} */ DEFEATIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cursed_Body_(ability) | Source} */ CURSED_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Healer_(ability) | Source} */ HEALER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Friend_Guard_(ability) | Source} */ FRIEND_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weak_Armor_(ability) | Source} */ WEAK_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Metal_(ability) | Source} */ HEAVY_METAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Light_Metal_(ability) | Source} */ LIGHT_METAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Multiscale_(ability) | Source} */ MULTISCALE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Boost_(ability) | Source} */ TOXIC_BOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flare_Boost_(ability) | Source} */ FLARE_BOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Harvest_(ability) | Source} */ HARVEST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Telepathy_(ability) | Source} */ TELEPATHY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moody_(ability) | Source} */ MOODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Overcoat_(ability) | Source} */ OVERCOAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Touch_(ability) | Source} */ POISON_TOUCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regenerator_(ability) | Source} */ REGENERATOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Big_Pecks_(ability) | Source} */ BIG_PECKS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Rush_(ability) | Source} */ SAND_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Skin_(ability) | Source} */ WONDER_SKIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Analytic_(ability) | Source} */ ANALYTIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Illusion_(ability) | Source} */ ILLUSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Imposter_(ability) | Source} */ IMPOSTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Infiltrator_(ability) | Source} */ INFILTRATOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mummy_(ability) | Source} */ MUMMY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moxie_(ability) | Source} */ MOXIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Justified_(ability) | Source} */ JUSTIFIED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rattled_(ability) | Source} */ RATTLED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Bounce_(ability) | Source} */ MAGIC_BOUNCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sap_Sipper_(ability) | Source} */ SAP_SIPPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Prankster_(ability) | Source} */ PRANKSTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Force_(ability) | Source} */ SAND_FORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Barbs_(ability) | Source} */ IRON_BARBS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zen_Mode_(ability) | Source} */ ZEN_MODE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Victory_Star_(ability) | Source} */ VICTORY_STAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Turboblaze_(ability) | Source} */ TURBOBLAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teravolt_(ability) | Source} */ TERAVOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aroma_Veil_(ability) | Source} */ AROMA_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Veil_(ability) | Source} */ FLOWER_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cheek_Pouch_(ability) | Source} */ CHEEK_POUCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Protean_(ability) | Source} */ PROTEAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fur_Coat_(ability) | Source} */ FUR_COAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magician_(ability) | Source} */ MAGICIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bulletproof_(ability) | Source} */ BULLETPROOF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Competitive_(ability) | Source} */ COMPETITIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Strong_Jaw_(ability) | Source} */ STRONG_JAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Refrigerate_(ability) | Source} */ REFRIGERATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Veil_(ability) | Source} */ SWEET_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stance_Change_(ability) | Source} */ STANCE_CHANGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gale_Wings_(ability) | Source} */ GALE_WINGS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Launcher_(ability) | Source} */ MEGA_LAUNCHER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pelt_(ability) | Source} */ GRASS_PELT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Symbiosis_(ability) | Source} */ SYMBIOSIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tough_Claws_(ability) | Source} */ TOUGH_CLAWS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pixilate_(ability) | Source} */ PIXILATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gooey_(ability) | Source} */ GOOEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aerilate_(ability) | Source} */ AERILATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Parental_Bond_(ability) | Source} */ PARENTAL_BOND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dark_Aura_(ability) | Source} */ DARK_AURA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Aura_(ability) | Source} */ FAIRY_AURA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aura_Break_(ability) | Source} */ AURA_BREAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Primordial_Sea_(ability) | Source} */ PRIMORDIAL_SEA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Desolate_Land_(ability) | Source} */ DESOLATE_LAND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Delta_Stream_(ability) | Source} */ DELTA_STREAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stamina_(ability) | Source} */ STAMINA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wimp_Out_(ability) | Source} */ WIMP_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Emergency_Exit_(ability) | Source} */ EMERGENCY_EXIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Compaction_(ability) | Source} */ WATER_COMPACTION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Merciless_(ability) | Source} */ MERCILESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shields_Down_(ability) | Source} */ SHIELDS_DOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stakeout_(ability) | Source} */ STAKEOUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Bubble_(ability) | Source} */ WATER_BUBBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steelworker_(ability) | Source} */ STEELWORKER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Berserk_(ability) | Source} */ BERSERK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slush_Rush_(ability) | Source} */ SLUSH_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Long_Reach_(ability) | Source} */ LONG_REACH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Liquid_Voice_(ability) | Source} */ LIQUID_VOICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Triage_(ability) | Source} */ TRIAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Galvanize_(ability) | Source} */ GALVANIZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Surge_Surfer_(ability) | Source} */ SURGE_SURFER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Schooling_(ability) | Source} */ SCHOOLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Disguise_(ability) | Source} */ DISGUISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Battle_Bond_(ability) | Source} */ BATTLE_BOND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Construct_(ability) | Source} */ POWER_CONSTRUCT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corrosion_(ability) | Source} */ CORROSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Comatose_(ability) | Source} */ COMATOSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Queenly_Majesty_(ability) | Source} */ QUEENLY_MAJESTY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Innards_Out_(ability) | Source} */ INNARDS_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dancer_(ability) | Source} */ DANCER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Battery_(ability) | Source} */ BATTERY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fluffy_(ability) | Source} */ FLUFFY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_(ability) | Source} */ DAZZLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Soul_Heart_(ability) | Source} */ SOUL_HEART, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tangling_Hair_(ability) | Source} */ TANGLING_HAIR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Receiver_(ability) | Source} */ RECEIVER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Of_Alchemy_(ability) | Source} */ POWER_OF_ALCHEMY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beast_Boost_(ability) | Source} */ BEAST_BOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rks_System_(ability) | Source} */ RKS_SYSTEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electric_Surge_(ability) | Source} */ ELECTRIC_SURGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Surge_(ability) | Source} */ PSYCHIC_SURGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Misty_Surge_(ability) | Source} */ MISTY_SURGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Surge_(ability) | Source} */ GRASSY_SURGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Full_Metal_Body_(ability) | Source} */ FULL_METAL_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Shield_(ability) | Source} */ SHADOW_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Prism_Armor_(ability) | Source} */ PRISM_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Neuroforce_(ability) | Source} */ NEUROFORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Intrepid_Sword_(ability) | Source} */ INTREPID_SWORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dauntless_Shield_(ability) | Source} */ DAUNTLESS_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Libero_(ability) | Source} */ LIBERO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ball_Fetch_(ability) | Source} */ BALL_FETCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Down_(ability) | Source} */ COTTON_DOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Propeller_Tail_(ability) | Source} */ PROPELLER_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Armor_(ability) | Source} */ MIRROR_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gulp_Missile_(ability) | Source} */ GULP_MISSILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stalwart_(ability) | Source} */ STALWART, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steam_Engine_(ability) | Source} */ STEAM_ENGINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Punk_Rock_(ability) | Source} */ PUNK_ROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Spit_(ability) | Source} */ SAND_SPIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Scales_(ability) | Source} */ ICE_SCALES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ripen_(ability) | Source} */ RIPEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Face_(ability) | Source} */ ICE_FACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Spot_(ability) | Source} */ POWER_SPOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mimicry_(ability) | Source} */ MIMICRY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Screen_Cleaner_(ability) | Source} */ SCREEN_CLEANER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steely_Spirit_(ability) | Source} */ STEELY_SPIRIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Perish_Body_(ability) | Source} */ PERISH_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wandering_Spirit_(ability) | Source} */ WANDERING_SPIRIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gorilla_Tactics_(ability) | Source} */ GORILLA_TACTICS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(ability) | Source} */ NEUTRALIZING_GAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pastel_Veil_(ability) | Source} */ PASTEL_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hunger_Switch_(ability) | Source} */ HUNGER_SWITCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Draw_(ability) | Source} */ QUICK_DRAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unseen_Fist_(ability) | Source} */ UNSEEN_FIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Curious_Medicine_(ability) | Source} */ CURIOUS_MEDICINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Transistor_(ability) | Source} */ TRANSISTOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragons_Maw_(ability) | Source} */ DRAGONS_MAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Neigh_(ability) | Source} */ CHILLING_NEIGH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grim_Neigh_(ability) | Source} */ GRIM_NEIGH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Glastrier_(ability) | Source} */ AS_ONE_GLASTRIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/As_One_Spectrier_(ability) | Source} */ AS_ONE_SPECTRIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lingering_Aroma_(ability) | Source} */ LINGERING_AROMA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seed_Sower_(ability) | Source} */ SEED_SOWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thermal_Exchange_(ability) | Source} */ THERMAL_EXCHANGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Anger_Shell_(ability) | Source} */ ANGER_SHELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Purifying_Salt_(ability) | Source} */ PURIFYING_SALT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Well_Baked_Body_(ability) | Source} */ WELL_BAKED_BODY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Rider_(ability) | Source} */ WIND_RIDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guard_Dog_(ability) | Source} */ GUARD_DOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rocky_Payload_(ability) | Source} */ ROCKY_PAYLOAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wind_Power_(ability) | Source} */ WIND_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zero_To_Hero_(ability) | Source} */ ZERO_TO_HERO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Commander_(ability) | Source} */ COMMANDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electromorphosis_(ability) | Source} */ ELECTROMORPHOSIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Protosynthesis_(ability) | Source} */ PROTOSYNTHESIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quark_Drive_(ability) | Source} */ QUARK_DRIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Good_As_Gold_(ability) | Source} */ GOOD_AS_GOLD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vessel_Of_Ruin_(ability) | Source} */ VESSEL_OF_RUIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sword_Of_Ruin_(ability) | Source} */ SWORD_OF_RUIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tablets_Of_Ruin_(ability) | Source} */ TABLETS_OF_RUIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beads_Of_Ruin_(ability) | Source} */ BEADS_OF_RUIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Orichalcum_Pulse_(ability) | Source} */ ORICHALCUM_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hadron_Engine_(ability) | Source} */ HADRON_ENGINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Opportunist_(ability) | Source} */ OPPORTUNIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cud_Chew_(ability) | Source} */ CUD_CHEW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sharpness_(ability) | Source} */ SHARPNESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supreme_Overlord_(ability) | Source} */ SUPREME_OVERLORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Costar_(ability) | Source} */ COSTAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Debris_(ability) | Source} */ TOXIC_DEBRIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Armor_Tail_(ability) | Source} */ ARMOR_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Earth_Eater_(ability) | Source} */ EARTH_EATER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mycelium_Might_(ability) | Source} */ MYCELIUM_MIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minds_Eye_(ability) | Source} */ MINDS_EYE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supersweet_Syrup_(ability) | Source} */ SUPERSWEET_SYRUP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hospitality_(ability) | Source} */ HOSPITALITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Chain_(ability) | Source} */ TOXIC_CHAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Teal_(ability) | Source} */ EMBODY_ASPECT_TEAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Wellspring_(ability) | Source} */ EMBODY_ASPECT_WELLSPRING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Hearthflame_(ability) | Source} */ EMBODY_ASPECT_HEARTHFLAME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Embody_Aspect_Cornerstone_(ability) | Source} */ EMBODY_ASPECT_CORNERSTONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shift_(ability) | Source} */ TERA_SHIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Shell_(ability) | Source} */ TERA_SHELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teraform_Zero_(ability) | Source} */ TERAFORM_ZERO, - POISON_PUPPETEER + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Puppeteer_(ability) | Source} */ + POISON_PUPPETEER, } diff --git a/src/data/enums/moves.ts b/src/data/enums/moves.ts index 7f323201db3..07b92b4f0c5 100644 --- a/src/data/enums/moves.ts +++ b/src/data/enums/moves.ts @@ -1,854 +1,1705 @@ export enum Moves { + /**{@link https://bulbapedia.bulbagarden.net/wiki/None_(move) | Source} */ NONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pound_(move) | Source} */ POUND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Karate_Chop_(move) | Source} */ KARATE_CHOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Slap_(move) | Source} */ DOUBLE_SLAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Comet_Punch_(move) | Source} */ COMET_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Punch_(move) | Source} */ MEGA_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pay_Day_(move) | Source} */ PAY_DAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Punch_(move) | Source} */ FIRE_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Punch_(move) | Source} */ ICE_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_Punch_(move) | Source} */ THUNDER_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scratch_(move) | Source} */ SCRATCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vise_Grip_(move) | Source} */ VISE_GRIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guillotine_(move) | Source} */ GUILLOTINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Razor_Wind_(move) | Source} */ RAZOR_WIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swords_Dance_(move) | Source} */ SWORDS_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cut_(move) | Source} */ CUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gust_(move) | Source} */ GUST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wing_Attack_(move) | Source} */ WING_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whirlwind_(move) | Source} */ WHIRLWIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fly_(move) | Source} */ FLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bind_(move) | Source} */ BIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slam_(move) | Source} */ SLAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vine_Whip_(move) | Source} */ VINE_WHIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stomp_(move) | Source} */ STOMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Kick_(move) | Source} */ DOUBLE_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Kick_(move) | Source} */ MEGA_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jump_Kick_(move) | Source} */ JUMP_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rolling_Kick_(move) | Source} */ ROLLING_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Attack_(move) | Source} */ SAND_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Headbutt_(move) | Source} */ HEADBUTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Horn_Attack_(move) | Source} */ HORN_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fury_Attack_(move) | Source} */ FURY_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Horn_Drill_(move) | Source} */ HORN_DRILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tackle_(move) | Source} */ TACKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Body_Slam_(move) | Source} */ BODY_SLAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wrap_(move) | Source} */ WRAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Take_Down_(move) | Source} */ TAKE_DOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thrash_(move) | Source} */ THRASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Edge_(move) | Source} */ DOUBLE_EDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tail_Whip_(move) | Source} */ TAIL_WHIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Sting_(move) | Source} */ POISON_STING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Twineedle_(move) | Source} */ TWINEEDLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pin_Missile_(move) | Source} */ PIN_MISSILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leer_(move) | Source} */ LEER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bite_(move) | Source} */ BITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Growl_(move) | Source} */ GROWL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roar_(move) | Source} */ ROAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sing_(move) | Source} */ SING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supersonic_(move) | Source} */ SUPERSONIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sonic_Boom_(move) | Source} */ SONIC_BOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Disable_(move) | Source} */ DISABLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acid_(move) | Source} */ ACID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ember_(move) | Source} */ EMBER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flamethrower_(move) | Source} */ FLAMETHROWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mist_(move) | Source} */ MIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Gun_(move) | Source} */ WATER_GUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydro_Pump_(move) | Source} */ HYDRO_PUMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Surf_(move) | Source} */ SURF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Beam_(move) | Source} */ ICE_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blizzard_(move) | Source} */ BLIZZARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psybeam_(move) | Source} */ PSYBEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bubble_Beam_(move) | Source} */ BUBBLE_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aurora_Beam_(move) | Source} */ AURORA_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Beam_(move) | Source} */ HYPER_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Peck_(move) | Source} */ PECK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drill_Peck_(move) | Source} */ DRILL_PECK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Submission_(move) | Source} */ SUBMISSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Low_Kick_(move) | Source} */ LOW_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Counter_(move) | Source} */ COUNTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seismic_Toss_(move) | Source} */ SEISMIC_TOSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Strength_(move) | Source} */ STRENGTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Absorb_(move) | Source} */ ABSORB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mega_Drain_(move) | Source} */ MEGA_DRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leech_Seed_(move) | Source} */ LEECH_SEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Growth_(move) | Source} */ GROWTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Razor_Leaf_(move) | Source} */ RAZOR_LEAF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solar_Beam_(move) | Source} */ SOLAR_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Powder_(move) | Source} */ POISON_POWDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stun_Spore_(move) | Source} */ STUN_SPORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sleep_Powder_(move) | Source} */ SLEEP_POWDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Petal_Dance_(move) | Source} */ PETAL_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/String_Shot_(move) | Source} */ STRING_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Rage_(move) | Source} */ DRAGON_RAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Spin_(move) | Source} */ FIRE_SPIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_Shock_(move) | Source} */ THUNDER_SHOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunderbolt_(move) | Source} */ THUNDERBOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_Wave_(move) | Source} */ THUNDER_WAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_(move) | Source} */ THUNDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Throw_(move) | Source} */ ROCK_THROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Earthquake_(move) | Source} */ EARTHQUAKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fissure_(move) | Source} */ FISSURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dig_(move) | Source} */ DIG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_(move) | Source} */ TOXIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Confusion_(move) | Source} */ CONFUSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_(move) | Source} */ PSYCHIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hypnosis_(move) | Source} */ HYPNOSIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meditate_(move) | Source} */ MEDITATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Agility_(move) | Source} */ AGILITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Attack_(move) | Source} */ QUICK_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rage_(move) | Source} */ RAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teleport_(move) | Source} */ TELEPORT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Night_Shade_(move) | Source} */ NIGHT_SHADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mimic_(move) | Source} */ MIMIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Screech_(move) | Source} */ SCREECH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Team_(move) | Source} */ DOUBLE_TEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Recover_(move) | Source} */ RECOVER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Harden_(move) | Source} */ HARDEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minimize_(move) | Source} */ MINIMIZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smokescreen_(move) | Source} */ SMOKESCREEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Confuse_Ray_(move) | Source} */ CONFUSE_RAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Withdraw_(move) | Source} */ WITHDRAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Defense_Curl_(move) | Source} */ DEFENSE_CURL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barrier_(move) | Source} */ BARRIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Light_Screen_(move) | Source} */ LIGHT_SCREEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Haze_(move) | Source} */ HAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reflect_(move) | Source} */ REFLECT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Focus_Energy_(move) | Source} */ FOCUS_ENERGY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bide_(move) | Source} */ BIDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metronome_(move) | Source} */ METRONOME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Move_(move) | Source} */ MIRROR_MOVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Self_Destruct_(move) | Source} */ SELF_DESTRUCT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Egg_Bomb_(move) | Source} */ EGG_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lick_(move) | Source} */ LICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smog_(move) | Source} */ SMOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sludge_(move) | Source} */ SLUDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bone_Club_(move) | Source} */ BONE_CLUB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Blast_(move) | Source} */ FIRE_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Waterfall_(move) | Source} */ WATERFALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clamp_(move) | Source} */ CLAMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swift_(move) | Source} */ SWIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skull_Bash_(move) | Source} */ SKULL_BASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spike_Cannon_(move) | Source} */ SPIKE_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Constrict_(move) | Source} */ CONSTRICT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Amnesia_(move) | Source} */ AMNESIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kinesis_(move) | Source} */ KINESIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Soft_Boiled_(move) | Source} */ SOFT_BOILED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/High_Jump_Kick_(move) | Source} */ HIGH_JUMP_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glare_(move) | Source} */ GLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dream_Eater_(move) | Source} */ DREAM_EATER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Gas_(move) | Source} */ POISON_GAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barrage_(move) | Source} */ BARRAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leech_Life_(move) | Source} */ LEECH_LIFE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lovely_Kiss_(move) | Source} */ LOVELY_KISS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sky_Attack_(move) | Source} */ SKY_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Transform_(move) | Source} */ TRANSFORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bubble_(move) | Source} */ BUBBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dizzy_Punch_(move) | Source} */ DIZZY_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spore_(move) | Source} */ SPORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flash_(move) | Source} */ FLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psywave_(move) | Source} */ PSYWAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Splash_(move) | Source} */ SPLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acid_Armor_(move) | Source} */ ACID_ARMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crabhammer_(move) | Source} */ CRABHAMMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Explosion_(move) | Source} */ EXPLOSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fury_Swipes_(move) | Source} */ FURY_SWIPES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bonemerang_(move) | Source} */ BONEMERANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rest_(move) | Source} */ REST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Slide_(move) | Source} */ ROCK_SLIDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Fang_(move) | Source} */ HYPER_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sharpen_(move) | Source} */ SHARPEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Conversion_(move) | Source} */ CONVERSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tri_Attack_(move) | Source} */ TRI_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Super_Fang_(move) | Source} */ SUPER_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slash_(move) | Source} */ SLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(move) | Source} */ SUBSTITUTE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Struggle_(move) | Source} */ STRUGGLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sketch_(move) | Source} */ SKETCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Triple_Kick_(move) | Source} */ TRIPLE_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thief_(move) | Source} */ THIEF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spider_Web_(move) | Source} */ SPIDER_WEB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mind_Reader_(move) | Source} */ MIND_READER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nightmare_(move) | Source} */ NIGHTMARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Wheel_(move) | Source} */ FLAME_WHEEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snore_(move) | Source} */ SNORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Curse_(move) | Source} */ CURSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flail_(move) | Source} */ FLAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Conversion_2_(move) | Source} */ CONVERSION_2, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aeroblast_(move) | Source} */ AEROBLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Spore_(move) | Source} */ COTTON_SPORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reversal_(move) | Source} */ REVERSAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spite_(move) | Source} */ SPITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Powder_Snow_(move) | Source} */ POWDER_SNOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Protect_(move) | Source} */ PROTECT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mach_Punch_(move) | Source} */ MACH_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scary_Face_(move) | Source} */ SCARY_FACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Feint_Attack_(move) | Source} */ FEINT_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Kiss_(move) | Source} */ SWEET_KISS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Belly_Drum_(move) | Source} */ BELLY_DRUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sludge_Bomb_(move) | Source} */ SLUDGE_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mud_Slap_(move) | Source} */ MUD_SLAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Octazooka_(move) | Source} */ OCTAZOOKA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spikes_(move) | Source} */ SPIKES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zap_Cannon_(move) | Source} */ ZAP_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Foresight_(move) | Source} */ FORESIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Destiny_Bond_(move) | Source} */ DESTINY_BOND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Perish_Song_(move) | Source} */ PERISH_SONG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Icy_Wind_(move) | Source} */ ICY_WIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Detect_(move) | Source} */ DETECT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bone_Rush_(move) | Source} */ BONE_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lock_On_(move) | Source} */ LOCK_ON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Outrage_(move) | Source} */ OUTRAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandstorm_(move) | Source} */ SANDSTORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Giga_Drain_(move) | Source} */ GIGA_DRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Endure_(move) | Source} */ ENDURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charm_(move) | Source} */ CHARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rollout_(move) | Source} */ ROLLOUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/False_Swipe_(move) | Source} */ FALSE_SWIPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swagger_(move) | Source} */ SWAGGER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Milk_Drink_(move) | Source} */ MILK_DRINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spark_(move) | Source} */ SPARK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fury_Cutter_(move) | Source} */ FURY_CUTTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steel_Wing_(move) | Source} */ STEEL_WING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mean_Look_(move) | Source} */ MEAN_LOOK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Attract_(move) | Source} */ ATTRACT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sleep_Talk_(move) | Source} */ SLEEP_TALK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heal_Bell_(move) | Source} */ HEAL_BELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Return_(move) | Source} */ RETURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Present_(move) | Source} */ PRESENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frustration_(move) | Source} */ FRUSTRATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Safeguard_(move) | Source} */ SAFEGUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pain_Split_(move) | Source} */ PAIN_SPLIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sacred_Fire_(move) | Source} */ SACRED_FIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnitude_(move) | Source} */ MAGNITUDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dynamic_Punch_(move) | Source} */ DYNAMIC_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Megahorn_(move) | Source} */ MEGAHORN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Breath_(move) | Source} */ DRAGON_BREATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baton_Pass_(move) | Source} */ BATON_PASS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Encore_(move) | Source} */ ENCORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pursuit_(move) | Source} */ PURSUIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rapid_Spin_(move) | Source} */ RAPID_SPIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sweet_Scent_(move) | Source} */ SWEET_SCENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Tail_(move) | Source} */ IRON_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metal_Claw_(move) | Source} */ METAL_CLAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vital_Throw_(move) | Source} */ VITAL_THROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Morning_Sun_(move) | Source} */ MORNING_SUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Synthesis_(move) | Source} */ SYNTHESIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moonlight_(move) | Source} */ MOONLIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hidden_Power_(move) | Source} */ HIDDEN_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cross_Chop_(move) | Source} */ CROSS_CHOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Twister_(move) | Source} */ TWISTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rain_Dance_(move) | Source} */ RAIN_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sunny_Day_(move) | Source} */ SUNNY_DAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crunch_(move) | Source} */ CRUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Coat_(move) | Source} */ MIRROR_COAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psych_Up_(move) | Source} */ PSYCH_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Extreme_Speed_(move) | Source} */ EXTREME_SPEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ancient_Power_(move) | Source} */ ANCIENT_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Ball_(move) | Source} */ SHADOW_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Future_Sight_(move) | Source} */ FUTURE_SIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Smash_(move) | Source} */ ROCK_SMASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whirlpool_(move) | Source} */ WHIRLPOOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beat_Up_(move) | Source} */ BEAT_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fake_Out_(move) | Source} */ FAKE_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Uproar_(move) | Source} */ UPROAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stockpile_(move) | Source} */ STOCKPILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spit_Up_(move) | Source} */ SPIT_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swallow_(move) | Source} */ SWALLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heat_Wave_(move) | Source} */ HEAT_WAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hail_(move) | Source} */ HAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torment_(move) | Source} */ TORMENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flatter_(move) | Source} */ FLATTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Will_O_Wisp_(move) | Source} */ WILL_O_WISP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Memento_(move) | Source} */ MEMENTO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Facade_(move) | Source} */ FACADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Focus_Punch_(move) | Source} */ FOCUS_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smelling_Salts_(move) | Source} */ SMELLING_SALTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Follow_Me_(move) | Source} */ FOLLOW_ME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nature_Power_(move) | Source} */ NATURE_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charge_(move) | Source} */ CHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Taunt_(move) | Source} */ TAUNT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Helping_Hand_(move) | Source} */ HELPING_HAND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trick_(move) | Source} */ TRICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Role_Play_(move) | Source} */ ROLE_PLAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wish_(move) | Source} */ WISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Assist_(move) | Source} */ ASSIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ingrain_(move) | Source} */ INGRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Superpower_(move) | Source} */ SUPERPOWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Coat_(move) | Source} */ MAGIC_COAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Recycle_(move) | Source} */ RECYCLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Revenge_(move) | Source} */ REVENGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brick_Break_(move) | Source} */ BRICK_BREAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yawn_(move) | Source} */ YAWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Knock_Off_(move) | Source} */ KNOCK_OFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Endeavor_(move) | Source} */ ENDEAVOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eruption_(move) | Source} */ ERUPTION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skill_Swap_(move) | Source} */ SKILL_SWAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Imprison_(move) | Source} */ IMPRISON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Refresh_(move) | Source} */ REFRESH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grudge_(move) | Source} */ GRUDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snatch_(move) | Source} */ SNATCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Secret_Power_(move) | Source} */ SECRET_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dive_(move) | Source} */ DIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arm_Thrust_(move) | Source} */ ARM_THRUST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Camouflage_(move) | Source} */ CAMOUFLAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tail_Glow_(move) | Source} */ TAIL_GLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Luster_Purge_(move) | Source} */ LUSTER_PURGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mist_Ball_(move) | Source} */ MIST_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Feather_Dance_(move) | Source} */ FEATHER_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teeter_Dance_(move) | Source} */ TEETER_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blaze_Kick_(move) | Source} */ BLAZE_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mud_Sport_(move) | Source} */ MUD_SPORT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Ball_(move) | Source} */ ICE_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Needle_Arm_(move) | Source} */ NEEDLE_ARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slack_Off_(move) | Source} */ SLACK_OFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Voice_(move) | Source} */ HYPER_VOICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Fang_(move) | Source} */ POISON_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crush_Claw_(move) | Source} */ CRUSH_CLAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blast_Burn_(move) | Source} */ BLAST_BURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydro_Cannon_(move) | Source} */ HYDRO_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meteor_Mash_(move) | Source} */ METEOR_MASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Astonish_(move) | Source} */ ASTONISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weather_Ball_(move) | Source} */ WEATHER_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aromatherapy_(move) | Source} */ AROMATHERAPY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fake_Tears_(move) | Source} */ FAKE_TEARS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Air_Cutter_(move) | Source} */ AIR_CUTTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Overheat_(move) | Source} */ OVERHEAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Odor_Sleuth_(move) | Source} */ ODOR_SLEUTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Tomb_(move) | Source} */ ROCK_TOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Silver_Wind_(move) | Source} */ SILVER_WIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metal_Sound_(move) | Source} */ METAL_SOUND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Whistle_(move) | Source} */ GRASS_WHISTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tickle_(move) | Source} */ TICKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cosmic_Power_(move) | Source} */ COSMIC_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Spout_(move) | Source} */ WATER_SPOUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Signal_Beam_(move) | Source} */ SIGNAL_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Punch_(move) | Source} */ SHADOW_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Extrasensory_(move) | Source} */ EXTRASENSORY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sky_Uppercut_(move) | Source} */ SKY_UPPERCUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sand_Tomb_(move) | Source} */ SAND_TOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sheer_Cold_(move) | Source} */ SHEER_COLD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Muddy_Water_(move) | Source} */ MUDDY_WATER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bullet_Seed_(move) | Source} */ BULLET_SEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aerial_Ace_(move) | Source} */ AERIAL_ACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Icicle_Spear_(move) | Source} */ ICICLE_SPEAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Defense_(move) | Source} */ IRON_DEFENSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Block_(move) | Source} */ BLOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Howl_(move) | Source} */ HOWL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Claw_(move) | Source} */ DRAGON_CLAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frenzy_Plant_(move) | Source} */ FRENZY_PLANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bulk_Up_(move) | Source} */ BULK_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bounce_(move) | Source} */ BOUNCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mud_Shot_(move) | Source} */ MUD_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Tail_(move) | Source} */ POISON_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Covet_(move) | Source} */ COVET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volt_Tackle_(move) | Source} */ VOLT_TACKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magical_Leaf_(move) | Source} */ MAGICAL_LEAF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Sport_(move) | Source} */ WATER_SPORT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Calm_Mind_(move) | Source} */ CALM_MIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Blade_(move) | Source} */ LEAF_BLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Dance_(move) | Source} */ DRAGON_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Blast_(move) | Source} */ ROCK_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shock_Wave_(move) | Source} */ SHOCK_WAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Pulse_(move) | Source} */ WATER_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Doom_Desire_(move) | Source} */ DOOM_DESIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psycho_Boost_(move) | Source} */ PSYCHO_BOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roost_(move) | Source} */ ROOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gravity_(move) | Source} */ GRAVITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Miracle_Eye_(move) | Source} */ MIRACLE_EYE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wake_Up_Slap_(move) | Source} */ WAKE_UP_SLAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hammer_Arm_(move) | Source} */ HAMMER_ARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gyro_Ball_(move) | Source} */ GYRO_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Healing_Wish_(move) | Source} */ HEALING_WISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brine_(move) | Source} */ BRINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Natural_Gift_(move) | Source} */ NATURAL_GIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Feint_(move) | Source} */ FEINT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pluck_(move) | Source} */ PLUCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tailwind_(move) | Source} */ TAILWIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acupressure_(move) | Source} */ ACUPRESSURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metal_Burst_(move) | Source} */ METAL_BURST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/U_Turn_(move) | Source} */ U_TURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Close_Combat_(move) | Source} */ CLOSE_COMBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Payback_(move) | Source} */ PAYBACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Assurance_(move) | Source} */ ASSURANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Embargo_(move) | Source} */ EMBARGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fling_(move) | Source} */ FLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psycho_Shift_(move) | Source} */ PSYCHO_SHIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trump_Card_(move) | Source} */ TRUMP_CARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heal_Block_(move) | Source} */ HEAL_BLOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wring_Out_(move) | Source} */ WRING_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Trick_(move) | Source} */ POWER_TRICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gastro_Acid_(move) | Source} */ GASTRO_ACID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lucky_Chant_(move) | Source} */ LUCKY_CHANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Me_First_(move) | Source} */ ME_FIRST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Copycat_(move) | Source} */ COPYCAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Swap_(move) | Source} */ POWER_SWAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guard_Swap_(move) | Source} */ GUARD_SWAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Punishment_(move) | Source} */ PUNISHMENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Last_Resort_(move) | Source} */ LAST_RESORT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Worry_Seed_(move) | Source} */ WORRY_SEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sucker_Punch_(move) | Source} */ SUCKER_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Spikes_(move) | Source} */ TOXIC_SPIKES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heart_Swap_(move) | Source} */ HEART_SWAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aqua_Ring_(move) | Source} */ AQUA_RING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Rise_(move) | Source} */ MAGNET_RISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flare_Blitz_(move) | Source} */ FLARE_BLITZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Force_Palm_(move) | Source} */ FORCE_PALM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aura_Sphere_(move) | Source} */ AURA_SPHERE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Polish_(move) | Source} */ ROCK_POLISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poison_Jab_(move) | Source} */ POISON_JAB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dark_Pulse_(move) | Source} */ DARK_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Night_Slash_(move) | Source} */ NIGHT_SLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aqua_Tail_(move) | Source} */ AQUA_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seed_Bomb_(move) | Source} */ SEED_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Air_Slash_(move) | Source} */ AIR_SLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/X_Scissor_(move) | Source} */ X_SCISSOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bug_Buzz_(move) | Source} */ BUG_BUZZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Pulse_(move) | Source} */ DRAGON_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Rush_(move) | Source} */ DRAGON_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Gem_(move) | Source} */ POWER_GEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drain_Punch_(move) | Source} */ DRAIN_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vacuum_Wave_(move) | Source} */ VACUUM_WAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Focus_Blast_(move) | Source} */ FOCUS_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Energy_Ball_(move) | Source} */ ENERGY_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brave_Bird_(move) | Source} */ BRAVE_BIRD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Earth_Power_(move) | Source} */ EARTH_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Switcheroo_(move) | Source} */ SWITCHEROO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Giga_Impact_(move) | Source} */ GIGA_IMPACT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nasty_Plot_(move) | Source} */ NASTY_PLOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bullet_Punch_(move) | Source} */ BULLET_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Avalanche_(move) | Source} */ AVALANCHE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Shard_(move) | Source} */ ICE_SHARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Claw_(move) | Source} */ SHADOW_CLAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_Fang_(move) | Source} */ THUNDER_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Fang_(move) | Source} */ ICE_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Fang_(move) | Source} */ FIRE_FANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Sneak_(move) | Source} */ SHADOW_SNEAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mud_Bomb_(move) | Source} */ MUD_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psycho_Cut_(move) | Source} */ PSYCHO_CUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zen_Headbutt_(move) | Source} */ ZEN_HEADBUTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mirror_Shot_(move) | Source} */ MIRROR_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flash_Cannon_(move) | Source} */ FLASH_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Climb_(move) | Source} */ ROCK_CLIMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Defog_(move) | Source} */ DEFOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trick_Room_(move) | Source} */ TRICK_ROOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Draco_Meteor_(move) | Source} */ DRACO_METEOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Discharge_(move) | Source} */ DISCHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lava_Plume_(move) | Source} */ LAVA_PLUME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Storm_(move) | Source} */ LEAF_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Whip_(move) | Source} */ POWER_WHIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rock_Wrecker_(move) | Source} */ ROCK_WRECKER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cross_Poison_(move) | Source} */ CROSS_POISON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gunk_Shot_(move) | Source} */ GUNK_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Head_(move) | Source} */ IRON_HEAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnet_Bomb_(move) | Source} */ MAGNET_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stone_Edge_(move) | Source} */ STONE_EDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Captivate_(move) | Source} */ CAPTIVATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stealth_Rock_(move) | Source} */ STEALTH_ROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Knot_(move) | Source} */ GRASS_KNOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chatter_(move) | Source} */ CHATTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Judgment_(move) | Source} */ JUDGMENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bug_Bite_(move) | Source} */ BUG_BITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charge_Beam_(move) | Source} */ CHARGE_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wood_Hammer_(move) | Source} */ WOOD_HAMMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aqua_Jet_(move) | Source} */ AQUA_JET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Attack_Order_(move) | Source} */ ATTACK_ORDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Defend_Order_(move) | Source} */ DEFEND_ORDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heal_Order_(move) | Source} */ HEAL_ORDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Head_Smash_(move) | Source} */ HEAD_SMASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Hit_(move) | Source} */ DOUBLE_HIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roar_Of_Time_(move) | Source} */ ROAR_OF_TIME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spacial_Rend_(move) | Source} */ SPACIAL_REND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lunar_Dance_(move) | Source} */ LUNAR_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crush_Grip_(move) | Source} */ CRUSH_GRIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magma_Storm_(move) | Source} */ MAGMA_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dark_Void_(move) | Source} */ DARK_VOID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seed_Flare_(move) | Source} */ SEED_FLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ominous_Wind_(move) | Source} */ OMINOUS_WIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Force_(move) | Source} */ SHADOW_FORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hone_Claws_(move) | Source} */ HONE_CLAWS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wide_Guard_(move) | Source} */ WIDE_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guard_Split_(move) | Source} */ GUARD_SPLIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Split_(move) | Source} */ POWER_SPLIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wonder_Room_(move) | Source} */ WONDER_ROOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psyshock_(move) | Source} */ PSYSHOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venoshock_(move) | Source} */ VENOSHOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Autotomize_(move) | Source} */ AUTOTOMIZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rage_Powder_(move) | Source} */ RAGE_POWDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Telekinesis_(move) | Source} */ TELEKINESIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Room_(move) | Source} */ MAGIC_ROOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smack_Down_(move) | Source} */ SMACK_DOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Storm_Throw_(move) | Source} */ STORM_THROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Burst_(move) | Source} */ FLAME_BURST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sludge_Wave_(move) | Source} */ SLUDGE_WAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quiver_Dance_(move) | Source} */ QUIVER_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heavy_Slam_(move) | Source} */ HEAVY_SLAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Synchronoise_(move) | Source} */ SYNCHRONOISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electro_Ball_(move) | Source} */ ELECTRO_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Soak_(move) | Source} */ SOAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flame_Charge_(move) | Source} */ FLAME_CHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Coil_(move) | Source} */ COIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Low_Sweep_(move) | Source} */ LOW_SWEEP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acid_Spray_(move) | Source} */ ACID_SPRAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Foul_Play_(move) | Source} */ FOUL_PLAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Simple_Beam_(move) | Source} */ SIMPLE_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Entrainment_(move) | Source} */ ENTRAINMENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/After_You_(move) | Source} */ AFTER_YOU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Round_(move) | Source} */ ROUND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Echoed_Voice_(move) | Source} */ ECHOED_VOICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chip_Away_(move) | Source} */ CHIP_AWAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clear_Smog_(move) | Source} */ CLEAR_SMOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stored_Power_(move) | Source} */ STORED_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quick_Guard_(move) | Source} */ QUICK_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ally_Switch_(move) | Source} */ ALLY_SWITCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scald_(move) | Source} */ SCALD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Smash_(move) | Source} */ SHELL_SMASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heal_Pulse_(move) | Source} */ HEAL_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hex_(move) | Source} */ HEX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sky_Drop_(move) | Source} */ SKY_DROP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shift_Gear_(move) | Source} */ SHIFT_GEAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Circle_Throw_(move) | Source} */ CIRCLE_THROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Incinerate_(move) | Source} */ INCINERATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quash_(move) | Source} */ QUASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acrobatics_(move) | Source} */ ACROBATICS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reflect_Type_(move) | Source} */ REFLECT_TYPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Retaliate_(move) | Source} */ RETALIATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Final_Gambit_(move) | Source} */ FINAL_GAMBIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bestow_(move) | Source} */ BESTOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inferno_(move) | Source} */ INFERNO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Pledge_(move) | Source} */ WATER_PLEDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Pledge_(move) | Source} */ FIRE_PLEDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grass_Pledge_(move) | Source} */ GRASS_PLEDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volt_Switch_(move) | Source} */ VOLT_SWITCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Struggle_Bug_(move) | Source} */ STRUGGLE_BUG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bulldoze_(move) | Source} */ BULLDOZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frost_Breath_(move) | Source} */ FROST_BREATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Tail_(move) | Source} */ DRAGON_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Work_Up_(move) | Source} */ WORK_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electroweb_(move) | Source} */ ELECTROWEB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wild_Charge_(move) | Source} */ WILD_CHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drill_Run_(move) | Source} */ DRILL_RUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dual_Chop_(move) | Source} */ DUAL_CHOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heart_Stamp_(move) | Source} */ HEART_STAMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Horn_Leech_(move) | Source} */ HORN_LEECH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sacred_Sword_(move) | Source} */ SACRED_SWORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Razor_Shell_(move) | Source} */ RAZOR_SHELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heat_Crash_(move) | Source} */ HEAT_CRASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leaf_Tornado_(move) | Source} */ LEAF_TORNADO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steamroller_(move) | Source} */ STEAMROLLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cotton_Guard_(move) | Source} */ COTTON_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Night_Daze_(move) | Source} */ NIGHT_DAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psystrike_(move) | Source} */ PSYSTRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tail_Slap_(move) | Source} */ TAIL_SLAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hurricane_(move) | Source} */ HURRICANE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Head_Charge_(move) | Source} */ HEAD_CHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gear_Grind_(move) | Source} */ GEAR_GRIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Searing_Shot_(move) | Source} */ SEARING_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Techno_Blast_(move) | Source} */ TECHNO_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Relic_Song_(move) | Source} */ RELIC_SONG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Secret_Sword_(move) | Source} */ SECRET_SWORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glaciate_(move) | Source} */ GLACIATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bolt_Strike_(move) | Source} */ BOLT_STRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blue_Flare_(move) | Source} */ BLUE_FLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fiery_Dance_(move) | Source} */ FIERY_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Freeze_Shock_(move) | Source} */ FREEZE_SHOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Burn_(move) | Source} */ ICE_BURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snarl_(move) | Source} */ SNARL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Icicle_Crash_(move) | Source} */ ICICLE_CRASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/V_Create_(move) | Source} */ V_CREATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fusion_Flare_(move) | Source} */ FUSION_FLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fusion_Bolt_(move) | Source} */ FUSION_BOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flying_Press_(move) | Source} */ FLYING_PRESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mat_Block_(move) | Source} */ MAT_BLOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Belch_(move) | Source} */ BELCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rototiller_(move) | Source} */ ROTOTILLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Web_(move) | Source} */ STICKY_WEB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fell_Stinger_(move) | Source} */ FELL_STINGER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Phantom_Force_(move) | Source} */ PHANTOM_FORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trick_Or_Treat_(move) | Source} */ TRICK_OR_TREAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Noble_Roar_(move) | Source} */ NOBLE_ROAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ion_Deluge_(move) | Source} */ ION_DELUGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Parabolic_Charge_(move) | Source} */ PARABOLIC_CHARGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Forests_Curse_(move) | Source} */ FORESTS_CURSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Petal_Blizzard_(move) | Source} */ PETAL_BLIZZARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Freeze_Dry_(move) | Source} */ FREEZE_DRY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Disarming_Voice_(move) | Source} */ DISARMING_VOICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Parting_Shot_(move) | Source} */ PARTING_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Topsy_Turvy_(move) | Source} */ TOPSY_TURVY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Draining_Kiss_(move) | Source} */ DRAINING_KISS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crafty_Shield_(move) | Source} */ CRAFTY_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Shield_(move) | Source} */ FLOWER_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Terrain_(move) | Source} */ GRASSY_TERRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Misty_Terrain_(move) | Source} */ MISTY_TERRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electrify_(move) | Source} */ ELECTRIFY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Play_Rough_(move) | Source} */ PLAY_ROUGH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Wind_(move) | Source} */ FAIRY_WIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moonblast_(move) | Source} */ MOONBLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Boomburst_(move) | Source} */ BOOMBURST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fairy_Lock_(move) | Source} */ FAIRY_LOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kings_Shield_(move) | Source} */ KINGS_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Play_Nice_(move) | Source} */ PLAY_NICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Confide_(move) | Source} */ CONFIDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Diamond_Storm_(move) | Source} */ DIAMOND_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steam_Eruption_(move) | Source} */ STEAM_ERUPTION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyperspace_Hole_(move) | Source} */ HYPERSPACE_HOLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Water_Shuriken_(move) | Source} */ WATER_SHURIKEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mystical_Fire_(move) | Source} */ MYSTICAL_FIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spiky_Shield_(move) | Source} */ SPIKY_SHIELD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aromatic_Mist_(move) | Source} */ AROMATIC_MIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eerie_Impulse_(move) | Source} */ EERIE_IMPULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venom_Drench_(move) | Source} */ VENOM_DRENCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Powder_(move) | Source} */ POWDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Geomancy_(move) | Source} */ GEOMANCY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnetic_Flux_(move) | Source} */ MAGNETIC_FLUX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Happy_Hour_(move) | Source} */ HAPPY_HOUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electric_Terrain_(move) | Source} */ ELECTRIC_TERRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dazzling_Gleam_(move) | Source} */ DAZZLING_GLEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Celebrate_(move) | Source} */ CELEBRATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hold_Hands_(move) | Source} */ HOLD_HANDS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baby_Doll_Eyes_(move) | Source} */ BABY_DOLL_EYES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nuzzle_(move) | Source} */ NUZZLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hold_Back_(move) | Source} */ HOLD_BACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Infestation_(move) | Source} */ INFESTATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Up_Punch_(move) | Source} */ POWER_UP_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oblivion_Wing_(move) | Source} */ OBLIVION_WING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thousand_Arrows_(move) | Source} */ THOUSAND_ARROWS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thousand_Waves_(move) | Source} */ THOUSAND_WAVES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lands_Wrath_(move) | Source} */ LANDS_WRATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Light_Of_Ruin_(move) | Source} */ LIGHT_OF_RUIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Origin_Pulse_(move) | Source} */ ORIGIN_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Precipice_Blades_(move) | Source} */ PRECIPICE_BLADES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Ascent_(move) | Source} */ DRAGON_ASCENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyperspace_Fury_(move) | Source} */ HYPERSPACE_FURY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Breakneck_Blitz__Physical_(move) | Source} */ BREAKNECK_BLITZ__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Breakneck_Blitz__Special_(move) | Source} */ BREAKNECK_BLITZ__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/All_Out_Pummeling__Physical_(move) | Source} */ ALL_OUT_PUMMELING__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/All_Out_Pummeling__Special_(move) | Source} */ ALL_OUT_PUMMELING__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supersonic_Skystrike__Physical_(move) | Source} */ SUPERSONIC_SKYSTRIKE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supersonic_Skystrike__Special_(move) | Source} */ SUPERSONIC_SKYSTRIKE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acid_Downpour__Physical_(move) | Source} */ ACID_DOWNPOUR__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Acid_Downpour__Special_(move) | Source} */ ACID_DOWNPOUR__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tectonic_Rage__Physical_(move) | Source} */ TECTONIC_RAGE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tectonic_Rage__Special_(move) | Source} */ TECTONIC_RAGE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Continental_Crush__Physical_(move) | Source} */ CONTINENTAL_CRUSH__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Continental_Crush__Special_(move) | Source} */ CONTINENTAL_CRUSH__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Savage_Spin_Out__Physical_(move) | Source} */ SAVAGE_SPIN_OUT__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Savage_Spin_Out__Special_(move) | Source} */ SAVAGE_SPIN_OUT__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Never_Ending_Nightmare__Physical_(move) | Source} */ NEVER_ENDING_NIGHTMARE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Never_Ending_Nightmare__Special_(move) | Source} */ NEVER_ENDING_NIGHTMARE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corkscrew_Crash__Physical_(move) | Source} */ CORKSCREW_CRASH__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corkscrew_Crash__Special_(move) | Source} */ CORKSCREW_CRASH__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inferno_Overdrive__Physical_(move) | Source} */ INFERNO_OVERDRIVE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inferno_Overdrive__Special_(move) | Source} */ INFERNO_OVERDRIVE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydro_Vortex__Physical_(move) | Source} */ HYDRO_VORTEX__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydro_Vortex__Special_(move) | Source} */ HYDRO_VORTEX__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bloom_Doom__Physical_(move) | Source} */ BLOOM_DOOM__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bloom_Doom__Special_(move) | Source} */ BLOOM_DOOM__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gigavolt_Havoc__Physical_(move) | Source} */ GIGAVOLT_HAVOC__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gigavolt_Havoc__Special_(move) | Source} */ GIGAVOLT_HAVOC__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shattered_Psyche__Physical_(move) | Source} */ SHATTERED_PSYCHE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shattered_Psyche__Special_(move) | Source} */ SHATTERED_PSYCHE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Subzero_Slammer__Physical_(move) | Source} */ SUBZERO_SLAMMER__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Subzero_Slammer__Special_(move) | Source} */ SUBZERO_SLAMMER__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Devastating_Drake__Physical_(move) | Source} */ DEVASTATING_DRAKE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Devastating_Drake__Special_(move) | Source} */ DEVASTATING_DRAKE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Black_Hole_Eclipse__Physical_(move) | Source} */ BLACK_HOLE_ECLIPSE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Black_Hole_Eclipse__Special_(move) | Source} */ BLACK_HOLE_ECLIPSE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Twinkle_Tackle__Physical_(move) | Source} */ TWINKLE_TACKLE__PHYSICAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Twinkle_Tackle__Special_(move) | Source} */ TWINKLE_TACKLE__SPECIAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Catastropika_(move) | Source} */ CATASTROPIKA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shore_Up_(move) | Source} */ SHORE_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/First_Impression_(move) | Source} */ FIRST_IMPRESSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baneful_Bunker_(move) | Source} */ BANEFUL_BUNKER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spirit_Shackle_(move) | Source} */ SPIRIT_SHACKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darkest_Lariat_(move) | Source} */ DARKEST_LARIAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sparkling_Aria_(move) | Source} */ SPARKLING_ARIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Hammer_(move) | Source} */ ICE_HAMMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floral_Healing_(move) | Source} */ FLORAL_HEALING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/High_Horsepower_(move) | Source} */ HIGH_HORSEPOWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Strength_Sap_(move) | Source} */ STRENGTH_SAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solar_Blade_(move) | Source} */ SOLAR_BLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leafage_(move) | Source} */ LEAFAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spotlight_(move) | Source} */ SPOTLIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Thread_(move) | Source} */ TOXIC_THREAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Laser_Focus_(move) | Source} */ LASER_FOCUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gear_Up_(move) | Source} */ GEAR_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Throat_Chop_(move) | Source} */ THROAT_CHOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pollen_Puff_(move) | Source} */ POLLEN_PUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Anchor_Shot_(move) | Source} */ ANCHOR_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Terrain_(move) | Source} */ PSYCHIC_TERRAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lunge_(move) | Source} */ LUNGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fire_Lash_(move) | Source} */ FIRE_LASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Trip_(move) | Source} */ POWER_TRIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Burn_Up_(move) | Source} */ BURN_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Speed_Swap_(move) | Source} */ SPEED_SWAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smart_Strike_(move) | Source} */ SMART_STRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Purify_(move) | Source} */ PURIFY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Revelation_Dance_(move) | Source} */ REVELATION_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Core_Enforcer_(move) | Source} */ CORE_ENFORCER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trop_Kick_(move) | Source} */ TROP_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Instruct_(move) | Source} */ INSTRUCT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beak_Blast_(move) | Source} */ BEAK_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clanging_Scales_(move) | Source} */ CLANGING_SCALES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Hammer_(move) | Source} */ DRAGON_HAMMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brutal_Swing_(move) | Source} */ BRUTAL_SWING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aurora_Veil_(move) | Source} */ AURORA_VEIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sinister_Arrow_Raid_(move) | Source} */ SINISTER_ARROW_RAID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Malicious_Moonsault_(move) | Source} */ MALICIOUS_MOONSAULT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oceanic_Operetta_(move) | Source} */ OCEANIC_OPERETTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guardian_Of_Alola_(move) | Source} */ GUARDIAN_OF_ALOLA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Soul_Stealing_7_Star_Strike_(move) | Source} */ SOUL_STEALING_7_STAR_STRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stoked_Sparksurfer_(move) | Source} */ STOKED_SPARKSURFER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pulverizing_Pancake_(move) | Source} */ PULVERIZING_PANCAKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Extreme_Evoboost_(move) | Source} */ EXTREME_EVOBOOST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Genesis_Supernova_(move) | Source} */ GENESIS_SUPERNOVA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Trap_(move) | Source} */ SHELL_TRAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fleur_Cannon_(move) | Source} */ FLEUR_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Fangs_(move) | Source} */ PSYCHIC_FANGS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stomping_Tantrum_(move) | Source} */ STOMPING_TANTRUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shadow_Bone_(move) | Source} */ SHADOW_BONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Accelerock_(move) | Source} */ ACCELEROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Liquidation_(move) | Source} */ LIQUIDATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Prismatic_Laser_(move) | Source} */ PRISMATIC_LASER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spectral_Thief_(move) | Source} */ SPECTRAL_THIEF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sunsteel_Strike_(move) | Source} */ SUNSTEEL_STRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moongeist_Beam_(move) | Source} */ MOONGEIST_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tearful_Look_(move) | Source} */ TEARFUL_LOOK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zing_Zap_(move) | Source} */ ZING_ZAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Natures_Madness_(move) | Source} */ NATURES_MADNESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Multi_Attack_(move) | Source} */ MULTI_ATTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ten_Million_Volt_Thunderbolt_(move) | Source} */ TEN_MILLION_VOLT_THUNDERBOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mind_Blown_(move) | Source} */ MIND_BLOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Plasma_Fists_(move) | Source} */ PLASMA_FISTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Photon_Geyser_(move) | Source} */ PHOTON_GEYSER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Light_That_Burns_The_Sky_(move) | Source} */ LIGHT_THAT_BURNS_THE_SKY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Searing_Sunraze_Smash_(move) | Source} */ SEARING_SUNRAZE_SMASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Menacing_Moonraze_Maelstrom_(move) | Source} */ MENACING_MOONRAZE_MAELSTROM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lets_Snuggle_Forever_(move) | Source} */ LETS_SNUGGLE_FOREVER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Splintered_Stormshards_(move) | Source} */ SPLINTERED_STORMSHARDS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clangorous_Soulblaze_(move) | Source} */ CLANGOROUS_SOULBLAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zippy_Zap_(move) | Source} */ ZIPPY_ZAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Splishy_Splash_(move) | Source} */ SPLISHY_SPLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floaty_Fall_(move) | Source} */ FLOATY_FALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pika_Papow_(move) | Source} */ PIKA_PAPOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bouncy_Bubble_(move) | Source} */ BOUNCY_BUBBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Buzzy_Buzz_(move) | Source} */ BUZZY_BUZZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sizzly_Slide_(move) | Source} */ SIZZLY_SLIDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glitzy_Glow_(move) | Source} */ GLITZY_GLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baddy_Bad_(move) | Source} */ BADDY_BAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sappy_Seed_(move) | Source} */ SAPPY_SEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Freezy_Frost_(move) | Source} */ FREEZY_FROST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sparkly_Swirl_(move) | Source} */ SPARKLY_SWIRL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Veevee_Volley_(move) | Source} */ VEEVEE_VOLLEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Iron_Bash_(move) | Source} */ DOUBLE_IRON_BASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Guard_(move) | Source} */ MAX_GUARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dynamax_Cannon_(move) | Source} */ DYNAMAX_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snipe_Shot_(move) | Source} */ SNIPE_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jaw_Lock_(move) | Source} */ JAW_LOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stuff_Cheeks_(move) | Source} */ STUFF_CHEEKS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/No_Retreat_(move) | Source} */ NO_RETREAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tar_Shot_(move) | Source} */ TAR_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magic_Powder_(move) | Source} */ MAGIC_POWDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Darts_(move) | Source} */ DRAGON_DARTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teatime_(move) | Source} */ TEATIME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Octolock_(move) | Source} */ OCTOLOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bolt_Beak_(move) | Source} */ BOLT_BEAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fishious_Rend_(move) | Source} */ FISHIOUS_REND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Court_Change_(move) | Source} */ COURT_CHANGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Flare_(move) | Source} */ MAX_FLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Flutterby_(move) | Source} */ MAX_FLUTTERBY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Lightning_(move) | Source} */ MAX_LIGHTNING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Strike_(move) | Source} */ MAX_STRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Knuckle_(move) | Source} */ MAX_KNUCKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Phantasm_(move) | Source} */ MAX_PHANTASM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Hailstorm_(move) | Source} */ MAX_HAILSTORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Ooze_(move) | Source} */ MAX_OOZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Geyser_(move) | Source} */ MAX_GEYSER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Airstream_(move) | Source} */ MAX_AIRSTREAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Starfall_(move) | Source} */ MAX_STARFALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Wyrmwind_(move) | Source} */ MAX_WYRMWIND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Mindstorm_(move) | Source} */ MAX_MINDSTORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Rockfall_(move) | Source} */ MAX_ROCKFALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Quake_(move) | Source} */ MAX_QUAKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Darkness_(move) | Source} */ MAX_DARKNESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Overgrowth_(move) | Source} */ MAX_OVERGROWTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Max_Steelspike_(move) | Source} */ MAX_STEELSPIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clangorous_Soul_(move) | Source} */ CLANGOROUS_SOUL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Body_Press_(move) | Source} */ BODY_PRESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Decorate_(move) | Source} */ DECORATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drum_Beating_(move) | Source} */ DRUM_BEATING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snap_Trap_(move) | Source} */ SNAP_TRAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pyro_Ball_(move) | Source} */ PYRO_BALL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Behemoth_Blade_(move) | Source} */ BEHEMOTH_BLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Behemoth_Bash_(move) | Source} */ BEHEMOTH_BASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aura_Wheel_(move) | Source} */ AURA_WHEEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Breaking_Swipe_(move) | Source} */ BREAKING_SWIPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Branch_Poke_(move) | Source} */ BRANCH_POKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Overdrive_(move) | Source} */ OVERDRIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Apple_Acid_(move) | Source} */ APPLE_ACID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grav_Apple_(move) | Source} */ GRAV_APPLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spirit_Break_(move) | Source} */ SPIRIT_BREAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Strange_Steam_(move) | Source} */ STRANGE_STEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Life_Dew_(move) | Source} */ LIFE_DEW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Obstruct_(move) | Source} */ OBSTRUCT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/False_Surrender_(move) | Source} */ FALSE_SURRENDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meteor_Assault_(move) | Source} */ METEOR_ASSAULT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eternabeam_(move) | Source} */ ETERNABEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steel_Beam_(move) | Source} */ STEEL_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Expanding_Force_(move) | Source} */ EXPANDING_FORCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steel_Roller_(move) | Source} */ STEEL_ROLLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scale_Shot_(move) | Source} */ SCALE_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meteor_Beam_(move) | Source} */ METEOR_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shell_Side_Arm_(move) | Source} */ SHELL_SIDE_ARM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Misty_Explosion_(move) | Source} */ MISTY_EXPLOSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grassy_Glide_(move) | Source} */ GRASSY_GLIDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rising_Voltage_(move) | Source} */ RISING_VOLTAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Terrain_Pulse_(move) | Source} */ TERRAIN_PULSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skitter_Smack_(move) | Source} */ SKITTER_SMACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Burning_Jealousy_(move) | Source} */ BURNING_JEALOUSY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lash_Out_(move) | Source} */ LASH_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poltergeist_(move) | Source} */ POLTERGEIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corrosive_Gas_(move) | Source} */ CORROSIVE_GAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Coaching_(move) | Source} */ COACHING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flip_Turn_(move) | Source} */ FLIP_TURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Triple_Axel_(move) | Source} */ TRIPLE_AXEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dual_Wingbeat_(move) | Source} */ DUAL_WINGBEAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scorching_Sands_(move) | Source} */ SCORCHING_SANDS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jungle_Healing_(move) | Source} */ JUNGLE_HEALING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wicked_Blow_(move) | Source} */ WICKED_BLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Surging_Strikes_(move) | Source} */ SURGING_STRIKES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunder_Cage_(move) | Source} */ THUNDER_CAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Energy_(move) | Source} */ DRAGON_ENERGY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Freezing_Glare_(move) | Source} */ FREEZING_GLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fiery_Wrath_(move) | Source} */ FIERY_WRATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunderous_Kick_(move) | Source} */ THUNDEROUS_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glacial_Lance_(move) | Source} */ GLACIAL_LANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Astral_Barrage_(move) | Source} */ ASTRAL_BARRAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eerie_Spell_(move) | Source} */ EERIE_SPELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dire_Claw_(move) | Source} */ DIRE_CLAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psyshield_Bash_(move) | Source} */ PSYSHIELD_BASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Power_Shift_(move) | Source} */ POWER_SHIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stone_Axe_(move) | Source} */ STONE_AXE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Springtide_Storm_(move) | Source} */ SPRINGTIDE_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mystical_Power_(move) | Source} */ MYSTICAL_POWER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raging_Fury_(move) | Source} */ RAGING_FURY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wave_Crash_(move) | Source} */ WAVE_CRASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chloroblast_(move) | Source} */ CHLOROBLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mountain_Gale_(move) | Source} */ MOUNTAIN_GALE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Victory_Dance_(move) | Source} */ VICTORY_DANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Headlong_Rush_(move) | Source} */ HEADLONG_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barb_Barrage_(move) | Source} */ BARB_BARRAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Esper_Wing_(move) | Source} */ ESPER_WING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bitter_Malice_(move) | Source} */ BITTER_MALICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shelter_(move) | Source} */ SHELTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Triple_Arrows_(move) | Source} */ TRIPLE_ARROWS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Infernal_Parade_(move) | Source} */ INFERNAL_PARADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ceaseless_Edge_(move) | Source} */ CEASELESS_EDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bleakwind_Storm_(move) | Source} */ BLEAKWIND_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wildbolt_Storm_(move) | Source} */ WILDBOLT_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandsear_Storm_(move) | Source} */ SANDSEAR_STORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lunar_Blessing_(move) | Source} */ LUNAR_BLESSING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Take_Heart_(move) | Source} */ TAKE_HEART, /*G_MAX_WILDFIRE, G_MAX_BEFUDDLE, @@ -883,73 +1734,142 @@ export enum Moves { G_MAX_HYDROSNIPE, G_MAX_ONE_BLOW, G_MAX_RAPID_FLOW,*/ + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Blast_(move) | Source} */ TERA_BLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Silk_Trap_(move) | Source} */ SILK_TRAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Axe_Kick_(move) | Source} */ AXE_KICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Last_Respects_(move) | Source} */ LAST_RESPECTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lumina_Crash_(move) | Source} */ LUMINA_CRASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Order_Up_(move) | Source} */ ORDER_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jet_Punch_(move) | Source} */ JET_PUNCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spicy_Extract_(move) | Source} */ SPICY_EXTRACT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spin_Out_(move) | Source} */ SPIN_OUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Population_Bomb_(move) | Source} */ POPULATION_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ice_Spinner_(move) | Source} */ ICE_SPINNER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glaive_Rush_(move) | Source} */ GLAIVE_RUSH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Revival_Blessing_(move) | Source} */ REVIVAL_BLESSING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Salt_Cure_(move) | Source} */ SALT_CURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Triple_Dive_(move) | Source} */ TRIPLE_DIVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mortal_Spin_(move) | Source} */ MORTAL_SPIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Doodle_(move) | Source} */ DOODLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fillet_Away_(move) | Source} */ FILLET_AWAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kowtow_Cleave_(move) | Source} */ KOWTOW_CLEAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flower_Trick_(move) | Source} */ FLOWER_TRICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torch_Song_(move) | Source} */ TORCH_SONG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aqua_Step_(move) | Source} */ AQUA_STEP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raging_Bull_(move) | Source} */ RAGING_BULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Make_It_Rain_(move) | Source} */ MAKE_IT_RAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psyblade_(move) | Source} */ PSYBLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydro_Steam_(move) | Source} */ HYDRO_STEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ruination_(move) | Source} */ RUINATION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Collision_Course_(move) | Source} */ COLLISION_COURSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electro_Drift_(move) | Source} */ ELECTRO_DRIFT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shed_Tail_(move) | Source} */ SHED_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chilly_Reception_(move) | Source} */ CHILLY_RECEPTION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tidy_Up_(move) | Source} */ TIDY_UP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snowscape_(move) | Source} */ SNOWSCAPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pounce_(move) | Source} */ POUNCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trailblaze_(move) | Source} */ TRAILBLAZE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chilling_Water_(move) | Source} */ CHILLING_WATER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hyper_Drill_(move) | Source} */ HYPER_DRILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Twin_Beam_(move) | Source} */ TWIN_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rage_Fist_(move) | Source} */ RAGE_FIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Armor_Cannon_(move) | Source} */ ARMOR_CANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bitter_Blade_(move) | Source} */ BITTER_BLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Double_Shock_(move) | Source} */ DOUBLE_SHOCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gigaton_Hammer_(move) | Source} */ GIGATON_HAMMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Comeuppance_(move) | Source} */ COMEUPPANCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aqua_Cutter_(move) | Source} */ AQUA_CUTTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blazing_Torque_(move) | Source} */ BLAZING_TORQUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wicked_Torque_(move) | Source} */ WICKED_TORQUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Noxious_Torque_(move) | Source} */ NOXIOUS_TORQUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Combat_Torque_(move) | Source} */ COMBAT_TORQUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magical_Torque_(move) | Source} */ MAGICAL_TORQUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blood_Moon_(move) | Source} */ BLOOD_MOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Matcha_Gotcha_(move) | Source} */ MATCHA_GOTCHA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Syrup_Bomb_(move) | Source} */ SYRUP_BOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ivy_Cudgel_(move) | Source} */ IVY_CUDGEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electro_Shot_(move) | Source} */ ELECTRO_SHOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tera_Starstorm_(move) | Source} */ TERA_STARSTORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fickle_Beam_(move) | Source} */ FICKLE_BEAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Burning_Bulwark_(move) | Source} */ BURNING_BULWARK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thunderclap_(move) | Source} */ THUNDERCLAP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mighty_Cleave_(move) | Source} */ MIGHTY_CLEAVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tachyon_Cutter_(move) | Source} */ TACHYON_CUTTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hard_Press_(move) | Source} */ HARD_PRESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragon_Cheer_(move) | Source} */ DRAGON_CHEER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Alluring_Voice_(move) | Source} */ ALLURING_VOICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Temper_Flare_(move) | Source} */ TEMPER_FLARE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Supercell_Slam_(move) | Source} */ SUPERCELL_SLAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psychic_Noise_(move) | Source} */ PSYCHIC_NOISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Upper_Hand_(move) | Source} */ UPPER_HAND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Malignant_Chain_(move) | Source} */ MALIGNANT_CHAIN, }; \ No newline at end of file diff --git a/src/data/enums/species.ts b/src/data/enums/species.ts index 0197a09ff85..dead4fcbd27 100644 --- a/src/data/enums/species.ts +++ b/src/data/enums/species.ts @@ -1,1085 +1,2167 @@ export enum Species { + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bulbasaur_(Pokémon) | Source} */ BULBASAUR = 1, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ivysaur_(Pokémon) | Source} */ IVYSAUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venusaur_(Pokémon) | Source} */ VENUSAUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charmander_(Pokémon) | Source} */ CHARMANDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charmeleon_(Pokémon) | Source} */ CHARMELEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charizard_(Pokémon) | Source} */ CHARIZARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Squirtle_(Pokémon) | Source} */ SQUIRTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wartortle_(Pokémon) | Source} */ WARTORTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blastoise_(Pokémon) | Source} */ BLASTOISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Caterpie_(Pokémon) | Source} */ CATERPIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metapod_(Pokémon) | Source} */ METAPOD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Butterfree_(Pokémon) | Source} */ BUTTERFREE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weedle_(Pokémon) | Source} */ WEEDLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kakuna_(Pokémon) | Source} */ KAKUNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beedrill_(Pokémon) | Source} */ BEEDRILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pidgey_(Pokémon) | Source} */ PIDGEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pidgeotto_(Pokémon) | Source} */ PIDGEOTTO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pidgeot_(Pokémon) | Source} */ PIDGEOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rattata_(Pokémon) | Source} */ RATTATA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raticate_(Pokémon) | Source} */ RATICATE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spearow_(Pokémon) | Source} */ SPEAROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fearow_(Pokémon) | Source} */ FEAROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ekans_(Pokémon) | Source} */ EKANS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arbok_(Pokémon) | Source} */ ARBOK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pikachu_(Pokémon) | Source} */ PIKACHU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raichu_(Pokémon) | Source} */ RAICHU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandshrew_(Pokémon) | Source} */ SANDSHREW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandslash_(Pokémon) | Source} */ SANDSLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidoran_F_(Pokémon) | Source} */ NIDORAN_F, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidorina_(Pokémon) | Source} */ NIDORINA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidoqueen_(Pokémon) | Source} */ NIDOQUEEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidoran_M_(Pokémon) | Source} */ NIDORAN_M, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidorino_(Pokémon) | Source} */ NIDORINO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nidoking_(Pokémon) | Source} */ NIDOKING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clefairy_(Pokémon) | Source} */ CLEFAIRY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clefable_(Pokémon) | Source} */ CLEFABLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vulpix_(Pokémon) | Source} */ VULPIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ninetales_(Pokémon) | Source} */ NINETALES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jigglypuff_(Pokémon) | Source} */ JIGGLYPUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wigglytuff_(Pokémon) | Source} */ WIGGLYTUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zubat_(Pokémon) | Source} */ ZUBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golbat_(Pokémon) | Source} */ GOLBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oddish_(Pokémon) | Source} */ ODDISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gloom_(Pokémon) | Source} */ GLOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vileplume_(Pokémon) | Source} */ VILEPLUME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Paras_(Pokémon) | Source} */ PARAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Parasect_(Pokémon) | Source} */ PARASECT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venonat_(Pokémon) | Source} */ VENONAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venomoth_(Pokémon) | Source} */ VENOMOTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Diglett_(Pokémon) | Source} */ DIGLETT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dugtrio_(Pokémon) | Source} */ DUGTRIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meowth_(Pokémon) | Source} */ MEOWTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Persian_(Pokémon) | Source} */ PERSIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Psyduck_(Pokémon) | Source} */ PSYDUCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golduck_(Pokémon) | Source} */ GOLDUCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mankey_(Pokémon) | Source} */ MANKEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Primeape_(Pokémon) | Source} */ PRIMEAPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Growlithe_(Pokémon) | Source} */ GROWLITHE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arcanine_(Pokémon) | Source} */ ARCANINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poliwag_(Pokémon) | Source} */ POLIWAG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poliwhirl_(Pokémon) | Source} */ POLIWHIRL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poliwrath_(Pokémon) | Source} */ POLIWRATH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Abra_(Pokémon) | Source} */ ABRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kadabra_(Pokémon) | Source} */ KADABRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Alakazam_(Pokémon) | Source} */ ALAKAZAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Machop_(Pokémon) | Source} */ MACHOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Machoke_(Pokémon) | Source} */ MACHOKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Machamp_(Pokémon) | Source} */ MACHAMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bellsprout_(Pokémon) | Source} */ BELLSPROUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weepinbell_(Pokémon) | Source} */ WEEPINBELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Victreebel_(Pokémon) | Source} */ VICTREEBEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tentacool_(Pokémon) | Source} */ TENTACOOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tentacruel_(Pokémon) | Source} */ TENTACRUEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Geodude_(Pokémon) | Source} */ GEODUDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Graveler_(Pokémon) | Source} */ GRAVELER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golem_(Pokémon) | Source} */ GOLEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ponyta_(Pokémon) | Source} */ PONYTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rapidash_(Pokémon) | Source} */ RAPIDASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowpoke_(Pokémon) | Source} */ SLOWPOKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowbro_(Pokémon) | Source} */ SLOWBRO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnemite_(Pokémon) | Source} */ MAGNEMITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magneton_(Pokémon) | Source} */ MAGNETON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Farfetchd_(Pokémon) | Source} */ FARFETCHD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Doduo_(Pokémon) | Source} */ DODUO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dodrio_(Pokémon) | Source} */ DODRIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seel_(Pokémon) | Source} */ SEEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dewgong_(Pokémon) | Source} */ DEWGONG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grimer_(Pokémon) | Source} */ GRIMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Muk_(Pokémon) | Source} */ MUK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shellder_(Pokémon) | Source} */ SHELLDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cloyster_(Pokémon) | Source} */ CLOYSTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gastly_(Pokémon) | Source} */ GASTLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Haunter_(Pokémon) | Source} */ HAUNTER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gengar_(Pokémon) | Source} */ GENGAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Onix_(Pokémon) | Source} */ ONIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drowzee_(Pokémon) | Source} */ DROWZEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hypno_(Pokémon) | Source} */ HYPNO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Krabby_(Pokémon) | Source} */ KRABBY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kingler_(Pokémon) | Source} */ KINGLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Voltorb_(Pokémon) | Source} */ VOLTORB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electrode_(Pokémon) | Source} */ ELECTRODE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Exeggcute_(Pokémon) | Source} */ EXEGGCUTE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Exeggutor_(Pokémon) | Source} */ EXEGGUTOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cubone_(Pokémon) | Source} */ CUBONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marowak_(Pokémon) | Source} */ MAROWAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hitmonlee_(Pokémon) | Source} */ HITMONLEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hitmonchan_(Pokémon) | Source} */ HITMONCHAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lickitung_(Pokémon) | Source} */ LICKITUNG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Koffing_(Pokémon) | Source} */ KOFFING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weezing_(Pokémon) | Source} */ WEEZING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rhyhorn_(Pokémon) | Source} */ RHYHORN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rhydon_(Pokémon) | Source} */ RHYDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chansey_(Pokémon) | Source} */ CHANSEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tangela_(Pokémon) | Source} */ TANGELA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kangaskhan_(Pokémon) | Source} */ KANGASKHAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Horsea_(Pokémon) | Source} */ HORSEA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seadra_(Pokémon) | Source} */ SEADRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Goldeen_(Pokémon) | Source} */ GOLDEEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seaking_(Pokémon) | Source} */ SEAKING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Staryu_(Pokémon) | Source} */ STARYU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Starmie_(Pokémon) | Source} */ STARMIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mr_Mime_(Pokémon) | Source} */ MR_MIME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scyther_(Pokémon) | Source} */ SCYTHER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jynx_(Pokémon) | Source} */ JYNX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electabuzz_(Pokémon) | Source} */ ELECTABUZZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magmar_(Pokémon) | Source} */ MAGMAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pinsir_(Pokémon) | Source} */ PINSIR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tauros_(Pokémon) | Source} */ TAUROS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magikarp_(Pokémon) | Source} */ MAGIKARP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gyarados_(Pokémon) | Source} */ GYARADOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lapras_(Pokémon) | Source} */ LAPRAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ditto_(Pokémon) | Source} */ DITTO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eevee_(Pokémon) | Source} */ EEVEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vaporeon_(Pokémon) | Source} */ VAPOREON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jolteon_(Pokémon) | Source} */ JOLTEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flareon_(Pokémon) | Source} */ FLAREON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Porygon_(Pokémon) | Source} */ PORYGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Omanyte_(Pokémon) | Source} */ OMANYTE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Omastar_(Pokémon) | Source} */ OMASTAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kabuto_(Pokémon) | Source} */ KABUTO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kabutops_(Pokémon) | Source} */ KABUTOPS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aerodactyl_(Pokémon) | Source} */ AERODACTYL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snorlax_(Pokémon) | Source} */ SNORLAX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Articuno_(Pokémon) | Source} */ ARTICUNO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zapdos_(Pokémon) | Source} */ ZAPDOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moltres_(Pokémon) | Source} */ MOLTRES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dratini_(Pokémon) | Source} */ DRATINI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragonair_(Pokémon) | Source} */ DRAGONAIR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragonite_(Pokémon) | Source} */ DRAGONITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mewtwo_(Pokémon) | Source} */ MEWTWO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mew_(Pokémon) | Source} */ MEW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chikorita_(Pokémon) | Source} */ CHIKORITA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bayleef_(Pokémon) | Source} */ BAYLEEF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meganium_(Pokémon) | Source} */ MEGANIUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cyndaquil_(Pokémon) | Source} */ CYNDAQUIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quilava_(Pokémon) | Source} */ QUILAVA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Typhlosion_(Pokémon) | Source} */ TYPHLOSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Totodile_(Pokémon) | Source} */ TOTODILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Croconaw_(Pokémon) | Source} */ CROCONAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Feraligatr_(Pokémon) | Source} */ FERALIGATR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sentret_(Pokémon) | Source} */ SENTRET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Furret_(Pokémon) | Source} */ FURRET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hoothoot_(Pokémon) | Source} */ HOOTHOOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Noctowl_(Pokémon) | Source} */ NOCTOWL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ledyba_(Pokémon) | Source} */ LEDYBA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ledian_(Pokémon) | Source} */ LEDIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spinarak_(Pokémon) | Source} */ SPINARAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ariados_(Pokémon) | Source} */ ARIADOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crobat_(Pokémon) | Source} */ CROBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chinchou_(Pokémon) | Source} */ CHINCHOU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lanturn_(Pokémon) | Source} */ LANTURN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pichu_(Pokémon) | Source} */ PICHU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cleffa_(Pokémon) | Source} */ CLEFFA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Igglybuff_(Pokémon) | Source} */ IGGLYBUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Togepi_(Pokémon) | Source} */ TOGEPI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Togetic_(Pokémon) | Source} */ TOGETIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Natu_(Pokémon) | Source} */ NATU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Xatu_(Pokémon) | Source} */ XATU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mareep_(Pokémon) | Source} */ MAREEP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flaaffy_(Pokémon) | Source} */ FLAAFFY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ampharos_(Pokémon) | Source} */ AMPHAROS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bellossom_(Pokémon) | Source} */ BELLOSSOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marill_(Pokémon) | Source} */ MARILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Azumarill_(Pokémon) | Source} */ AZUMARILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sudowoodo_(Pokémon) | Source} */ SUDOWOODO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Politoed_(Pokémon) | Source} */ POLITOED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hoppip_(Pokémon) | Source} */ HOPPIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skiploom_(Pokémon) | Source} */ SKIPLOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jumpluff_(Pokémon) | Source} */ JUMPLUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aipom_(Pokémon) | Source} */ AIPOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sunkern_(Pokémon) | Source} */ SUNKERN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sunflora_(Pokémon) | Source} */ SUNFLORA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yanma_(Pokémon) | Source} */ YANMA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wooper_(Pokémon) | Source} */ WOOPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quagsire_(Pokémon) | Source} */ QUAGSIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Espeon_(Pokémon) | Source} */ ESPEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Umbreon_(Pokémon) | Source} */ UMBREON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Murkrow_(Pokémon) | Source} */ MURKROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowking_(Pokémon) | Source} */ SLOWKING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Misdreavus_(Pokémon) | Source} */ MISDREAVUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unown_(Pokémon) | Source} */ UNOWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wobbuffet_(Pokémon) | Source} */ WOBBUFFET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Girafarig_(Pokémon) | Source} */ GIRAFARIG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pineco_(Pokémon) | Source} */ PINECO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Forretress_(Pokémon) | Source} */ FORRETRESS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dunsparce_(Pokémon) | Source} */ DUNSPARCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gligar_(Pokémon) | Source} */ GLIGAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steelix_(Pokémon) | Source} */ STEELIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snubbull_(Pokémon) | Source} */ SNUBBULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Granbull_(Pokémon) | Source} */ GRANBULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Qwilfish_(Pokémon) | Source} */ QWILFISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scizor_(Pokémon) | Source} */ SCIZOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shuckle_(Pokémon) | Source} */ SHUCKLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heracross_(Pokémon) | Source} */ HERACROSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sneasel_(Pokémon) | Source} */ SNEASEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Teddiursa_(Pokémon) | Source} */ TEDDIURSA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ursaring_(Pokémon) | Source} */ URSARING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slugma_(Pokémon) | Source} */ SLUGMA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magcargo_(Pokémon) | Source} */ MAGCARGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swinub_(Pokémon) | Source} */ SWINUB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Piloswine_(Pokémon) | Source} */ PILOSWINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corsola_(Pokémon) | Source} */ CORSOLA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Remoraid_(Pokémon) | Source} */ REMORAID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Octillery_(Pokémon) | Source} */ OCTILLERY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Delibird_(Pokémon) | Source} */ DELIBIRD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mantine_(Pokémon) | Source} */ MANTINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skarmory_(Pokémon) | Source} */ SKARMORY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Houndour_(Pokémon) | Source} */ HOUNDOUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Houndoom_(Pokémon) | Source} */ HOUNDOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kingdra_(Pokémon) | Source} */ KINGDRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Phanpy_(Pokémon) | Source} */ PHANPY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Donphan_(Pokémon) | Source} */ DONPHAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Porygon2_(Pokémon) | Source} */ PORYGON2, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stantler_(Pokémon) | Source} */ STANTLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smeargle_(Pokémon) | Source} */ SMEARGLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tyrogue_(Pokémon) | Source} */ TYROGUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hitmontop_(Pokémon) | Source} */ HITMONTOP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smoochum_(Pokémon) | Source} */ SMOOCHUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Elekid_(Pokémon) | Source} */ ELEKID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magby_(Pokémon) | Source} */ MAGBY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Miltank_(Pokémon) | Source} */ MILTANK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blissey_(Pokémon) | Source} */ BLISSEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raikou_(Pokémon) | Source} */ RAIKOU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Entei_(Pokémon) | Source} */ ENTEI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Suicune_(Pokémon) | Source} */ SUICUNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Larvitar_(Pokémon) | Source} */ LARVITAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pupitar_(Pokémon) | Source} */ PUPITAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tyranitar_(Pokémon) | Source} */ TYRANITAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lugia_(Pokémon) | Source} */ LUGIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ho_Oh_(Pokémon) | Source} */ HO_OH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Celebi_(Pokémon) | Source} */ CELEBI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Treecko_(Pokémon) | Source} */ TREECKO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grovyle_(Pokémon) | Source} */ GROVYLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sceptile_(Pokémon) | Source} */ SCEPTILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torchic_(Pokémon) | Source} */ TORCHIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Combusken_(Pokémon) | Source} */ COMBUSKEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blaziken_(Pokémon) | Source} */ BLAZIKEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mudkip_(Pokémon) | Source} */ MUDKIP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marshtomp_(Pokémon) | Source} */ MARSHTOMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swampert_(Pokémon) | Source} */ SWAMPERT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poochyena_(Pokémon) | Source} */ POOCHYENA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mightyena_(Pokémon) | Source} */ MIGHTYENA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zigzagoon_(Pokémon) | Source} */ ZIGZAGOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Linoone_(Pokémon) | Source} */ LINOONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wurmple_(Pokémon) | Source} */ WURMPLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Silcoon_(Pokémon) | Source} */ SILCOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beautifly_(Pokémon) | Source} */ BEAUTIFLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cascoon_(Pokémon) | Source} */ CASCOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dustox_(Pokémon) | Source} */ DUSTOX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lotad_(Pokémon) | Source} */ LOTAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lombre_(Pokémon) | Source} */ LOMBRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ludicolo_(Pokémon) | Source} */ LUDICOLO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seedot_(Pokémon) | Source} */ SEEDOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nuzleaf_(Pokémon) | Source} */ NUZLEAF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shiftry_(Pokémon) | Source} */ SHIFTRY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Taillow_(Pokémon) | Source} */ TAILLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swellow_(Pokémon) | Source} */ SWELLOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wingull_(Pokémon) | Source} */ WINGULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pelipper_(Pokémon) | Source} */ PELIPPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ralts_(Pokémon) | Source} */ RALTS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kirlia_(Pokémon) | Source} */ KIRLIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gardevoir_(Pokémon) | Source} */ GARDEVOIR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Surskit_(Pokémon) | Source} */ SURSKIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Masquerain_(Pokémon) | Source} */ MASQUERAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shroomish_(Pokémon) | Source} */ SHROOMISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Breloom_(Pokémon) | Source} */ BRELOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slakoth_(Pokémon) | Source} */ SLAKOTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vigoroth_(Pokémon) | Source} */ VIGOROTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slaking_(Pokémon) | Source} */ SLAKING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nincada_(Pokémon) | Source} */ NINCADA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ninjask_(Pokémon) | Source} */ NINJASK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shedinja_(Pokémon) | Source} */ SHEDINJA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whismur_(Pokémon) | Source} */ WHISMUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Loudred_(Pokémon) | Source} */ LOUDRED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Exploud_(Pokémon) | Source} */ EXPLOUD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Makuhita_(Pokémon) | Source} */ MAKUHITA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hariyama_(Pokémon) | Source} */ HARIYAMA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Azurill_(Pokémon) | Source} */ AZURILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nosepass_(Pokémon) | Source} */ NOSEPASS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skitty_(Pokémon) | Source} */ SKITTY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Delcatty_(Pokémon) | Source} */ DELCATTY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sableye_(Pokémon) | Source} */ SABLEYE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mawile_(Pokémon) | Source} */ MAWILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aron_(Pokémon) | Source} */ ARON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lairon_(Pokémon) | Source} */ LAIRON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aggron_(Pokémon) | Source} */ AGGRON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meditite_(Pokémon) | Source} */ MEDITITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Medicham_(Pokémon) | Source} */ MEDICHAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electrike_(Pokémon) | Source} */ ELECTRIKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Manectric_(Pokémon) | Source} */ MANECTRIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Plusle_(Pokémon) | Source} */ PLUSLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minun_(Pokémon) | Source} */ MINUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volbeat_(Pokémon) | Source} */ VOLBEAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Illumise_(Pokémon) | Source} */ ILLUMISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roselia_(Pokémon) | Source} */ ROSELIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gulpin_(Pokémon) | Source} */ GULPIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swalot_(Pokémon) | Source} */ SWALOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Carvanha_(Pokémon) | Source} */ CARVANHA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sharpedo_(Pokémon) | Source} */ SHARPEDO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wailmer_(Pokémon) | Source} */ WAILMER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wailord_(Pokémon) | Source} */ WAILORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Numel_(Pokémon) | Source} */ NUMEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Camerupt_(Pokémon) | Source} */ CAMERUPT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torkoal_(Pokémon) | Source} */ TORKOAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spoink_(Pokémon) | Source} */ SPOINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grumpig_(Pokémon) | Source} */ GRUMPIG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spinda_(Pokémon) | Source} */ SPINDA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trapinch_(Pokémon) | Source} */ TRAPINCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vibrava_(Pokémon) | Source} */ VIBRAVA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flygon_(Pokémon) | Source} */ FLYGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cacnea_(Pokémon) | Source} */ CACNEA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cacturne_(Pokémon) | Source} */ CACTURNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swablu_(Pokémon) | Source} */ SWABLU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Altaria_(Pokémon) | Source} */ ALTARIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zangoose_(Pokémon) | Source} */ ZANGOOSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seviper_(Pokémon) | Source} */ SEVIPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lunatone_(Pokémon) | Source} */ LUNATONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solrock_(Pokémon) | Source} */ SOLROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barboach_(Pokémon) | Source} */ BARBOACH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whiscash_(Pokémon) | Source} */ WHISCASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corphish_(Pokémon) | Source} */ CORPHISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crawdaunt_(Pokémon) | Source} */ CRAWDAUNT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baltoy_(Pokémon) | Source} */ BALTOY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Claydol_(Pokémon) | Source} */ CLAYDOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lileep_(Pokémon) | Source} */ LILEEP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cradily_(Pokémon) | Source} */ CRADILY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Anorith_(Pokémon) | Source} */ ANORITH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Armaldo_(Pokémon) | Source} */ ARMALDO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Feebas_(Pokémon) | Source} */ FEEBAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Milotic_(Pokémon) | Source} */ MILOTIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Castform_(Pokémon) | Source} */ CASTFORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kecleon_(Pokémon) | Source} */ KECLEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shuppet_(Pokémon) | Source} */ SHUPPET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Banette_(Pokémon) | Source} */ BANETTE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Duskull_(Pokémon) | Source} */ DUSKULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dusclops_(Pokémon) | Source} */ DUSCLOPS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tropius_(Pokémon) | Source} */ TROPIUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chimecho_(Pokémon) | Source} */ CHIMECHO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Absol_(Pokémon) | Source} */ ABSOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wynaut_(Pokémon) | Source} */ WYNAUT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snorunt_(Pokémon) | Source} */ SNORUNT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glalie_(Pokémon) | Source} */ GLALIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spheal_(Pokémon) | Source} */ SPHEAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sealeo_(Pokémon) | Source} */ SEALEO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Walrein_(Pokémon) | Source} */ WALREIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clamperl_(Pokémon) | Source} */ CLAMPERL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Huntail_(Pokémon) | Source} */ HUNTAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gorebyss_(Pokémon) | Source} */ GOREBYSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Relicanth_(Pokémon) | Source} */ RELICANTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Luvdisc_(Pokémon) | Source} */ LUVDISC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bagon_(Pokémon) | Source} */ BAGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shelgon_(Pokémon) | Source} */ SHELGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Salamence_(Pokémon) | Source} */ SALAMENCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beldum_(Pokémon) | Source} */ BELDUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metang_(Pokémon) | Source} */ METANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Metagross_(Pokémon) | Source} */ METAGROSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regirock_(Pokémon) | Source} */ REGIROCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regice_(Pokémon) | Source} */ REGICE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Registeel_(Pokémon) | Source} */ REGISTEEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Latias_(Pokémon) | Source} */ LATIAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Latios_(Pokémon) | Source} */ LATIOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kyogre_(Pokémon) | Source} */ KYOGRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Groudon_(Pokémon) | Source} */ GROUDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rayquaza_(Pokémon) | Source} */ RAYQUAZA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jirachi_(Pokémon) | Source} */ JIRACHI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Deoxys_(Pokémon) | Source} */ DEOXYS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Turtwig_(Pokémon) | Source} */ TURTWIG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grotle_(Pokémon) | Source} */ GROTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torterra_(Pokémon) | Source} */ TORTERRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chimchar_(Pokémon) | Source} */ CHIMCHAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Monferno_(Pokémon) | Source} */ MONFERNO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Infernape_(Pokémon) | Source} */ INFERNAPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Piplup_(Pokémon) | Source} */ PIPLUP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Prinplup_(Pokémon) | Source} */ PRINPLUP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Empoleon_(Pokémon) | Source} */ EMPOLEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Starly_(Pokémon) | Source} */ STARLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Staravia_(Pokémon) | Source} */ STARAVIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Staraptor_(Pokémon) | Source} */ STARAPTOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bidoof_(Pokémon) | Source} */ BIDOOF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bibarel_(Pokémon) | Source} */ BIBAREL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kricketot_(Pokémon) | Source} */ KRICKETOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kricketune_(Pokémon) | Source} */ KRICKETUNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shinx_(Pokémon) | Source} */ SHINX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Luxio_(Pokémon) | Source} */ LUXIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Luxray_(Pokémon) | Source} */ LUXRAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Budew_(Pokémon) | Source} */ BUDEW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roserade_(Pokémon) | Source} */ ROSERADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cranidos_(Pokémon) | Source} */ CRANIDOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rampardos_(Pokémon) | Source} */ RAMPARDOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shieldon_(Pokémon) | Source} */ SHIELDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bastiodon_(Pokémon) | Source} */ BASTIODON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Burmy_(Pokémon) | Source} */ BURMY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wormadam_(Pokémon) | Source} */ WORMADAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mothim_(Pokémon) | Source} */ MOTHIM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Combee_(Pokémon) | Source} */ COMBEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vespiquen_(Pokémon) | Source} */ VESPIQUEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pachirisu_(Pokémon) | Source} */ PACHIRISU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Buizel_(Pokémon) | Source} */ BUIZEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floatzel_(Pokémon) | Source} */ FLOATZEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cherubi_(Pokémon) | Source} */ CHERUBI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cherrim_(Pokémon) | Source} */ CHERRIM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shellos_(Pokémon) | Source} */ SHELLOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gastrodon_(Pokémon) | Source} */ GASTRODON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ambipom_(Pokémon) | Source} */ AMBIPOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drifloon_(Pokémon) | Source} */ DRIFLOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drifblim_(Pokémon) | Source} */ DRIFBLIM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Buneary_(Pokémon) | Source} */ BUNEARY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lopunny_(Pokémon) | Source} */ LOPUNNY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mismagius_(Pokémon) | Source} */ MISMAGIUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Honchkrow_(Pokémon) | Source} */ HONCHKROW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glameow_(Pokémon) | Source} */ GLAMEOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Purugly_(Pokémon) | Source} */ PURUGLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chingling_(Pokémon) | Source} */ CHINGLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stunky_(Pokémon) | Source} */ STUNKY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skuntank_(Pokémon) | Source} */ SKUNTANK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bronzor_(Pokémon) | Source} */ BRONZOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bronzong_(Pokémon) | Source} */ BRONZONG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bonsly_(Pokémon) | Source} */ BONSLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mime_Jr_(Pokémon) | Source} */ MIME_JR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Happiny_(Pokémon) | Source} */ HAPPINY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chatot_(Pokémon) | Source} */ CHATOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spiritomb_(Pokémon) | Source} */ SPIRITOMB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gible_(Pokémon) | Source} */ GIBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gabite_(Pokémon) | Source} */ GABITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Garchomp_(Pokémon) | Source} */ GARCHOMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Munchlax_(Pokémon) | Source} */ MUNCHLAX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Riolu_(Pokémon) | Source} */ RIOLU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lucario_(Pokémon) | Source} */ LUCARIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hippopotas_(Pokémon) | Source} */ HIPPOPOTAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hippowdon_(Pokémon) | Source} */ HIPPOWDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skorupi_(Pokémon) | Source} */ SKORUPI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drapion_(Pokémon) | Source} */ DRAPION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Croagunk_(Pokémon) | Source} */ CROAGUNK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxicroak_(Pokémon) | Source} */ TOXICROAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Carnivine_(Pokémon) | Source} */ CARNIVINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Finneon_(Pokémon) | Source} */ FINNEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lumineon_(Pokémon) | Source} */ LUMINEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mantyke_(Pokémon) | Source} */ MANTYKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snover_(Pokémon) | Source} */ SNOVER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Abomasnow_(Pokémon) | Source} */ ABOMASNOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weavile_(Pokémon) | Source} */ WEAVILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magnezone_(Pokémon) | Source} */ MAGNEZONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lickilicky_(Pokémon) | Source} */ LICKILICKY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rhyperior_(Pokémon) | Source} */ RHYPERIOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tangrowth_(Pokémon) | Source} */ TANGROWTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electivire_(Pokémon) | Source} */ ELECTIVIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magmortar_(Pokémon) | Source} */ MAGMORTAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Togekiss_(Pokémon) | Source} */ TOGEKISS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yanmega_(Pokémon) | Source} */ YANMEGA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leafeon_(Pokémon) | Source} */ LEAFEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glaceon_(Pokémon) | Source} */ GLACEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gliscor_(Pokémon) | Source} */ GLISCOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mamoswine_(Pokémon) | Source} */ MAMOSWINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Porygon_Z_(Pokémon) | Source} */ PORYGON_Z, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gallade_(Pokémon) | Source} */ GALLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Probopass_(Pokémon) | Source} */ PROBOPASS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dusknoir_(Pokémon) | Source} */ DUSKNOIR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Froslass_(Pokémon) | Source} */ FROSLASS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rotom_(Pokémon) | Source} */ ROTOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Uxie_(Pokémon) | Source} */ UXIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mesprit_(Pokémon) | Source} */ MESPRIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Azelf_(Pokémon) | Source} */ AZELF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dialga_(Pokémon) | Source} */ DIALGA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Palkia_(Pokémon) | Source} */ PALKIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heatran_(Pokémon) | Source} */ HEATRAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regigigas_(Pokémon) | Source} */ REGIGIGAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Giratina_(Pokémon) | Source} */ GIRATINA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cresselia_(Pokémon) | Source} */ CRESSELIA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Phione_(Pokémon) | Source} */ PHIONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Manaphy_(Pokémon) | Source} */ MANAPHY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darkrai_(Pokémon) | Source} */ DARKRAI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shaymin_(Pokémon) | Source} */ SHAYMIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arceus_(Pokémon) | Source} */ ARCEUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Victini_(Pokémon) | Source} */ VICTINI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snivy_(Pokémon) | Source} */ SNIVY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Servine_(Pokémon) | Source} */ SERVINE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Serperior_(Pokémon) | Source} */ SERPERIOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tepig_(Pokémon) | Source} */ TEPIG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pignite_(Pokémon) | Source} */ PIGNITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Emboar_(Pokémon) | Source} */ EMBOAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oshawott_(Pokémon) | Source} */ OSHAWOTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dewott_(Pokémon) | Source} */ DEWOTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Samurott_(Pokémon) | Source} */ SAMUROTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Patrat_(Pokémon) | Source} */ PATRAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Watchog_(Pokémon) | Source} */ WATCHOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lillipup_(Pokémon) | Source} */ LILLIPUP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Herdier_(Pokémon) | Source} */ HERDIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stoutland_(Pokémon) | Source} */ STOUTLAND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Purrloin_(Pokémon) | Source} */ PURRLOIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Liepard_(Pokémon) | Source} */ LIEPARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pansage_(Pokémon) | Source} */ PANSAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Simisage_(Pokémon) | Source} */ SIMISAGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pansear_(Pokémon) | Source} */ PANSEAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Simisear_(Pokémon) | Source} */ SIMISEAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Panpour_(Pokémon) | Source} */ PANPOUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Simipour_(Pokémon) | Source} */ SIMIPOUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Munna_(Pokémon) | Source} */ MUNNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Musharna_(Pokémon) | Source} */ MUSHARNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pidove_(Pokémon) | Source} */ PIDOVE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tranquill_(Pokémon) | Source} */ TRANQUILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Unfezant_(Pokémon) | Source} */ UNFEZANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blitzle_(Pokémon) | Source} */ BLITZLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zebstrika_(Pokémon) | Source} */ ZEBSTRIKA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roggenrola_(Pokémon) | Source} */ ROGGENROLA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Boldore_(Pokémon) | Source} */ BOLDORE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gigalith_(Pokémon) | Source} */ GIGALITH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Woobat_(Pokémon) | Source} */ WOOBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swoobat_(Pokémon) | Source} */ SWOOBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drilbur_(Pokémon) | Source} */ DRILBUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Excadrill_(Pokémon) | Source} */ EXCADRILL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Audino_(Pokémon) | Source} */ AUDINO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Timburr_(Pokémon) | Source} */ TIMBURR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gurdurr_(Pokémon) | Source} */ GURDURR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Conkeldurr_(Pokémon) | Source} */ CONKELDURR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tympole_(Pokémon) | Source} */ TYMPOLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Palpitoad_(Pokémon) | Source} */ PALPITOAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Seismitoad_(Pokémon) | Source} */ SEISMITOAD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Throh_(Pokémon) | Source} */ THROH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sawk_(Pokémon) | Source} */ SAWK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sewaddle_(Pokémon) | Source} */ SEWADDLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swadloon_(Pokémon) | Source} */ SWADLOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Leavanny_(Pokémon) | Source} */ LEAVANNY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Venipede_(Pokémon) | Source} */ VENIPEDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whirlipede_(Pokémon) | Source} */ WHIRLIPEDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scolipede_(Pokémon) | Source} */ SCOLIPEDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cottonee_(Pokémon) | Source} */ COTTONEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Whimsicott_(Pokémon) | Source} */ WHIMSICOTT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Petilil_(Pokémon) | Source} */ PETILIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lilligant_(Pokémon) | Source} */ LILLIGANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Basculin_(Pokémon) | Source} */ BASCULIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandile_(Pokémon) | Source} */ SANDILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Krokorok_(Pokémon) | Source} */ KROKOROK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Krookodile_(Pokémon) | Source} */ KROOKODILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darumaka_(Pokémon) | Source} */ DARUMAKA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darmanitan_(Pokémon) | Source} */ DARMANITAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Maractus_(Pokémon) | Source} */ MARACTUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dwebble_(Pokémon) | Source} */ DWEBBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crustle_(Pokémon) | Source} */ CRUSTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scraggy_(Pokémon) | Source} */ SCRAGGY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scrafty_(Pokémon) | Source} */ SCRAFTY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sigilyph_(Pokémon) | Source} */ SIGILYPH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yamask_(Pokémon) | Source} */ YAMASK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cofagrigus_(Pokémon) | Source} */ COFAGRIGUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tirtouga_(Pokémon) | Source} */ TIRTOUGA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Carracosta_(Pokémon) | Source} */ CARRACOSTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Archen_(Pokémon) | Source} */ ARCHEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Archeops_(Pokémon) | Source} */ ARCHEOPS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trubbish_(Pokémon) | Source} */ TRUBBISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Garbodor_(Pokémon) | Source} */ GARBODOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zorua_(Pokémon) | Source} */ ZORUA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zoroark_(Pokémon) | Source} */ ZOROARK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minccino_(Pokémon) | Source} */ MINCCINO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cinccino_(Pokémon) | Source} */ CINCCINO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gothita_(Pokémon) | Source} */ GOTHITA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gothorita_(Pokémon) | Source} */ GOTHORITA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gothitelle_(Pokémon) | Source} */ GOTHITELLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solosis_(Pokémon) | Source} */ SOLOSIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Duosion_(Pokémon) | Source} */ DUOSION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reuniclus_(Pokémon) | Source} */ REUNICLUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ducklett_(Pokémon) | Source} */ DUCKLETT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swanna_(Pokémon) | Source} */ SWANNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vanillite_(Pokémon) | Source} */ VANILLITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vanillish_(Pokémon) | Source} */ VANILLISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vanilluxe_(Pokémon) | Source} */ VANILLUXE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Deerling_(Pokémon) | Source} */ DEERLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sawsbuck_(Pokémon) | Source} */ SAWSBUCK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Emolga_(Pokémon) | Source} */ EMOLGA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Karrablast_(Pokémon) | Source} */ KARRABLAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Escavalier_(Pokémon) | Source} */ ESCAVALIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Foongus_(Pokémon) | Source} */ FOONGUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Amoonguss_(Pokémon) | Source} */ AMOONGUSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frillish_(Pokémon) | Source} */ FRILLISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jellicent_(Pokémon) | Source} */ JELLICENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Alomomola_(Pokémon) | Source} */ ALOMOMOLA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Joltik_(Pokémon) | Source} */ JOLTIK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Galvantula_(Pokémon) | Source} */ GALVANTULA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ferroseed_(Pokémon) | Source} */ FERROSEED, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ferrothorn_(Pokémon) | Source} */ FERROTHORN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klink_(Pokémon) | Source} */ KLINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klang_(Pokémon) | Source} */ KLANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klinklang_(Pokémon) | Source} */ KLINKLANG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tynamo_(Pokémon) | Source} */ TYNAMO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eelektrik_(Pokémon) | Source} */ EELEKTRIK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eelektross_(Pokémon) | Source} */ EELEKTROSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Elgyem_(Pokémon) | Source} */ ELGYEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beheeyem_(Pokémon) | Source} */ BEHEEYEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Litwick_(Pokémon) | Source} */ LITWICK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lampent_(Pokémon) | Source} */ LAMPENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chandelure_(Pokémon) | Source} */ CHANDELURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Axew_(Pokémon) | Source} */ AXEW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fraxure_(Pokémon) | Source} */ FRAXURE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Haxorus_(Pokémon) | Source} */ HAXORUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cubchoo_(Pokémon) | Source} */ CUBCHOO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Beartic_(Pokémon) | Source} */ BEARTIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cryogonal_(Pokémon) | Source} */ CRYOGONAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shelmet_(Pokémon) | Source} */ SHELMET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Accelgor_(Pokémon) | Source} */ ACCELGOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stunfisk_(Pokémon) | Source} */ STUNFISK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mienfoo_(Pokémon) | Source} */ MIENFOO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mienshao_(Pokémon) | Source} */ MIENSHAO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Druddigon_(Pokémon) | Source} */ DRUDDIGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golett_(Pokémon) | Source} */ GOLETT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golurk_(Pokémon) | Source} */ GOLURK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pawniard_(Pokémon) | Source} */ PAWNIARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bisharp_(Pokémon) | Source} */ BISHARP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bouffalant_(Pokémon) | Source} */ BOUFFALANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rufflet_(Pokémon) | Source} */ RUFFLET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Braviary_(Pokémon) | Source} */ BRAVIARY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vullaby_(Pokémon) | Source} */ VULLABY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mandibuzz_(Pokémon) | Source} */ MANDIBUZZ, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heatmor_(Pokémon) | Source} */ HEATMOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Durant_(Pokémon) | Source} */ DURANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Deino_(Pokémon) | Source} */ DEINO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zweilous_(Pokémon) | Source} */ ZWEILOUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydreigon_(Pokémon) | Source} */ HYDREIGON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Larvesta_(Pokémon) | Source} */ LARVESTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volcarona_(Pokémon) | Source} */ VOLCARONA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cobalion_(Pokémon) | Source} */ COBALION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Terrakion_(Pokémon) | Source} */ TERRAKION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Virizion_(Pokémon) | Source} */ VIRIZION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tornadus_(Pokémon) | Source} */ TORNADUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thundurus_(Pokémon) | Source} */ THUNDURUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Reshiram_(Pokémon) | Source} */ RESHIRAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zekrom_(Pokémon) | Source} */ ZEKROM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Landorus_(Pokémon) | Source} */ LANDORUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kyurem_(Pokémon) | Source} */ KYUREM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Keldeo_(Pokémon) | Source} */ KELDEO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meloetta_(Pokémon) | Source} */ MELOETTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Genesect_(Pokémon) | Source} */ GENESECT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chespin_(Pokémon) | Source} */ CHESPIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quilladin_(Pokémon) | Source} */ QUILLADIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chesnaught_(Pokémon) | Source} */ CHESNAUGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fennekin_(Pokémon) | Source} */ FENNEKIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Braixen_(Pokémon) | Source} */ BRAIXEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Delphox_(Pokémon) | Source} */ DELPHOX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Froakie_(Pokémon) | Source} */ FROAKIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frogadier_(Pokémon) | Source} */ FROGADIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Greninja_(Pokémon) | Source} */ GRENINJA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bunnelby_(Pokémon) | Source} */ BUNNELBY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Diggersby_(Pokémon) | Source} */ DIGGERSBY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fletchling_(Pokémon) | Source} */ FLETCHLING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fletchinder_(Pokémon) | Source} */ FLETCHINDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Talonflame_(Pokémon) | Source} */ TALONFLAME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scatterbug_(Pokémon) | Source} */ SCATTERBUG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spewpa_(Pokémon) | Source} */ SPEWPA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vivillon_(Pokémon) | Source} */ VIVILLON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Litleo_(Pokémon) | Source} */ LITLEO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pyroar_(Pokémon) | Source} */ PYROAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flabebe_(Pokémon) | Source} */ FLABEBE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floette_(Pokémon) | Source} */ FLOETTE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Florges_(Pokémon) | Source} */ FLORGES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skiddo_(Pokémon) | Source} */ SKIDDO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gogoat_(Pokémon) | Source} */ GOGOAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pancham_(Pokémon) | Source} */ PANCHAM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pangoro_(Pokémon) | Source} */ PANGORO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Furfrou_(Pokémon) | Source} */ FURFROU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Espurr_(Pokémon) | Source} */ ESPURR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meowstic_(Pokémon) | Source} */ MEOWSTIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Honedge_(Pokémon) | Source} */ HONEDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Doublade_(Pokémon) | Source} */ DOUBLADE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aegislash_(Pokémon) | Source} */ AEGISLASH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spritzee_(Pokémon) | Source} */ SPRITZEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aromatisse_(Pokémon) | Source} */ AROMATISSE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Swirlix_(Pokémon) | Source} */ SWIRLIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slurpuff_(Pokémon) | Source} */ SLURPUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inkay_(Pokémon) | Source} */ INKAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Malamar_(Pokémon) | Source} */ MALAMAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Binacle_(Pokémon) | Source} */ BINACLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barbaracle_(Pokémon) | Source} */ BARBARACLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skrelp_(Pokémon) | Source} */ SKRELP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragalge_(Pokémon) | Source} */ DRAGALGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clauncher_(Pokémon) | Source} */ CLAUNCHER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clawitzer_(Pokémon) | Source} */ CLAWITZER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Helioptile_(Pokémon) | Source} */ HELIOPTILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Heliolisk_(Pokémon) | Source} */ HELIOLISK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tyrunt_(Pokémon) | Source} */ TYRUNT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tyrantrum_(Pokémon) | Source} */ TYRANTRUM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Amaura_(Pokémon) | Source} */ AMAURA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Aurorus_(Pokémon) | Source} */ AURORUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sylveon_(Pokémon) | Source} */ SYLVEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hawlucha_(Pokémon) | Source} */ HAWLUCHA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dedenne_(Pokémon) | Source} */ DEDENNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Carbink_(Pokémon) | Source} */ CARBINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Goomy_(Pokémon) | Source} */ GOOMY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sliggoo_(Pokémon) | Source} */ SLIGGOO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Goodra_(Pokémon) | Source} */ GOODRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klefki_(Pokémon) | Source} */ KLEFKI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Phantump_(Pokémon) | Source} */ PHANTUMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trevenant_(Pokémon) | Source} */ TREVENANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pumpkaboo_(Pokémon) | Source} */ PUMPKABOO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gourgeist_(Pokémon) | Source} */ GOURGEIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bergmite_(Pokémon) | Source} */ BERGMITE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Avalugg_(Pokémon) | Source} */ AVALUGG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Noibat_(Pokémon) | Source} */ NOIBAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Noivern_(Pokémon) | Source} */ NOIVERN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Xerneas_(Pokémon) | Source} */ XERNEAS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yveltal_(Pokémon) | Source} */ YVELTAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zygarde_(Pokémon) | Source} */ ZYGARDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Diancie_(Pokémon) | Source} */ DIANCIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hoopa_(Pokémon) | Source} */ HOOPA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Volcanion_(Pokémon) | Source} */ VOLCANION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rowlet_(Pokémon) | Source} */ ROWLET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dartrix_(Pokémon) | Source} */ DARTRIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Decidueye_(Pokémon) | Source} */ DECIDUEYE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Litten_(Pokémon) | Source} */ LITTEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Torracat_(Pokémon) | Source} */ TORRACAT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Incineroar_(Pokémon) | Source} */ INCINEROAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Popplio_(Pokémon) | Source} */ POPPLIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brionne_(Pokémon) | Source} */ BRIONNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Primarina_(Pokémon) | Source} */ PRIMARINA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pikipek_(Pokémon) | Source} */ PIKIPEK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Trumbeak_(Pokémon) | Source} */ TRUMBEAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toucannon_(Pokémon) | Source} */ TOUCANNON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yungoos_(Pokémon) | Source} */ YUNGOOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gumshoos_(Pokémon) | Source} */ GUMSHOOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grubbin_(Pokémon) | Source} */ GRUBBIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charjabug_(Pokémon) | Source} */ CHARJABUG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vikavolt_(Pokémon) | Source} */ VIKAVOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crabrawler_(Pokémon) | Source} */ CRABRAWLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crabominable_(Pokémon) | Source} */ CRABOMINABLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oricorio_(Pokémon) | Source} */ ORICORIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cutiefly_(Pokémon) | Source} */ CUTIEFLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ribombee_(Pokémon) | Source} */ RIBOMBEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rockruff_(Pokémon) | Source} */ ROCKRUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lycanroc_(Pokémon) | Source} */ LYCANROC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wishiwashi_(Pokémon) | Source} */ WISHIWASHI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mareanie_(Pokémon) | Source} */ MAREANIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxapex_(Pokémon) | Source} */ TOXAPEX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mudbray_(Pokémon) | Source} */ MUDBRAY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mudsdale_(Pokémon) | Source} */ MUDSDALE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dewpider_(Pokémon) | Source} */ DEWPIDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Araquanid_(Pokémon) | Source} */ ARAQUANID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fomantis_(Pokémon) | Source} */ FOMANTIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lurantis_(Pokémon) | Source} */ LURANTIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Morelull_(Pokémon) | Source} */ MORELULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shiinotic_(Pokémon) | Source} */ SHIINOTIC, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Salandit_(Pokémon) | Source} */ SALANDIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Salazzle_(Pokémon) | Source} */ SALAZZLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stufful_(Pokémon) | Source} */ STUFFUL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bewear_(Pokémon) | Source} */ BEWEAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bounsweet_(Pokémon) | Source} */ BOUNSWEET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Steenee_(Pokémon) | Source} */ STEENEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tsareena_(Pokémon) | Source} */ TSAREENA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Comfey_(Pokémon) | Source} */ COMFEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oranguru_(Pokémon) | Source} */ ORANGURU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Passimian_(Pokémon) | Source} */ PASSIMIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wimpod_(Pokémon) | Source} */ WIMPOD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golisopod_(Pokémon) | Source} */ GOLISOPOD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandygast_(Pokémon) | Source} */ SANDYGAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Palossand_(Pokémon) | Source} */ PALOSSAND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pyukumuku_(Pokémon) | Source} */ PYUKUMUKU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Type_Null_(Pokémon) | Source} */ TYPE_NULL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Silvally_(Pokémon) | Source} */ SILVALLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Minior_(Pokémon) | Source} */ MINIOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Komala_(Pokémon) | Source} */ KOMALA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Turtonator_(Pokémon) | Source} */ TURTONATOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Togedemaru_(Pokémon) | Source} */ TOGEDEMARU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mimikyu_(Pokémon) | Source} */ MIMIKYU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bruxish_(Pokémon) | Source} */ BRUXISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drampa_(Pokémon) | Source} */ DRAMPA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dhelmise_(Pokémon) | Source} */ DHELMISE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Jangmo_O_(Pokémon) | Source} */ JANGMO_O, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hakamo_O_(Pokémon) | Source} */ HAKAMO_O, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kommo_O_(Pokémon) | Source} */ KOMMO_O, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tapu_Koko_(Pokémon) | Source} */ TAPU_KOKO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tapu_Lele_(Pokémon) | Source} */ TAPU_LELE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tapu_Bulu_(Pokémon) | Source} */ TAPU_BULU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tapu_Fini_(Pokémon) | Source} */ TAPU_FINI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cosmog_(Pokémon) | Source} */ COSMOG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cosmoem_(Pokémon) | Source} */ COSMOEM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Solgaleo_(Pokémon) | Source} */ SOLGALEO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lunala_(Pokémon) | Source} */ LUNALA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nihilego_(Pokémon) | Source} */ NIHILEGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Buzzwole_(Pokémon) | Source} */ BUZZWOLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pheromosa_(Pokémon) | Source} */ PHEROMOSA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Xurkitree_(Pokémon) | Source} */ XURKITREE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Celesteela_(Pokémon) | Source} */ CELESTEELA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kartana_(Pokémon) | Source} */ KARTANA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Guzzlord_(Pokémon) | Source} */ GUZZLORD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Necrozma_(Pokémon) | Source} */ NECROZMA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Magearna_(Pokémon) | Source} */ MAGEARNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marshadow_(Pokémon) | Source} */ MARSHADOW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poipole_(Pokémon) | Source} */ POIPOLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Naganadel_(Pokémon) | Source} */ NAGANADEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stakataka_(Pokémon) | Source} */ STAKATAKA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blacephalon_(Pokémon) | Source} */ BLACEPHALON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zeraora_(Pokémon) | Source} */ ZERAORA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meltan_(Pokémon) | Source} */ MELTAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Melmetal_(Pokémon) | Source} */ MELMETAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grookey_(Pokémon) | Source} */ GROOKEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thwackey_(Pokémon) | Source} */ THWACKEY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rillaboom_(Pokémon) | Source} */ RILLABOOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scorbunny_(Pokémon) | Source} */ SCORBUNNY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raboot_(Pokémon) | Source} */ RABOOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cinderace_(Pokémon) | Source} */ CINDERACE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sobble_(Pokémon) | Source} */ SOBBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drizzile_(Pokémon) | Source} */ DRIZZILE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Inteleon_(Pokémon) | Source} */ INTELEON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skwovet_(Pokémon) | Source} */ SKWOVET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Greedent_(Pokémon) | Source} */ GREEDENT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rookidee_(Pokémon) | Source} */ ROOKIDEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corvisquire_(Pokémon) | Source} */ CORVISQUIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corviknight_(Pokémon) | Source} */ CORVIKNIGHT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Blipbug_(Pokémon) | Source} */ BLIPBUG, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dottler_(Pokémon) | Source} */ DOTTLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Orbeetle_(Pokémon) | Source} */ ORBEETLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nickit_(Pokémon) | Source} */ NICKIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Thievul_(Pokémon) | Source} */ THIEVUL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gossifleur_(Pokémon) | Source} */ GOSSIFLEUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eldegoss_(Pokémon) | Source} */ ELDEGOSS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wooloo_(Pokémon) | Source} */ WOOLOO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dubwool_(Pokémon) | Source} */ DUBWOOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chewtle_(Pokémon) | Source} */ CHEWTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drednaw_(Pokémon) | Source} */ DREDNAW, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yamper_(Pokémon) | Source} */ YAMPER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Boltund_(Pokémon) | Source} */ BOLTUND, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rolycoly_(Pokémon) | Source} */ ROLYCOLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Carkol_(Pokémon) | Source} */ CARKOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Coalossal_(Pokémon) | Source} */ COALOSSAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Applin_(Pokémon) | Source} */ APPLIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flapple_(Pokémon) | Source} */ FLAPPLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Appletun_(Pokémon) | Source} */ APPLETUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Silicobra_(Pokémon) | Source} */ SILICOBRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandaconda_(Pokémon) | Source} */ SANDACONDA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cramorant_(Pokémon) | Source} */ CRAMORANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arrokuda_(Pokémon) | Source} */ ARROKUDA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Barraskewda_(Pokémon) | Source} */ BARRASKEWDA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxel_(Pokémon) | Source} */ TOXEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toxtricity_(Pokémon) | Source} */ TOXTRICITY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sizzlipede_(Pokémon) | Source} */ SIZZLIPEDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Centiskorch_(Pokémon) | Source} */ CENTISKORCH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clobbopus_(Pokémon) | Source} */ CLOBBOPUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grapploct_(Pokémon) | Source} */ GRAPPLOCT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sinistea_(Pokémon) | Source} */ SINISTEA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Polteageist_(Pokémon) | Source} */ POLTEAGEIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hatenna_(Pokémon) | Source} */ HATENNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hattrem_(Pokémon) | Source} */ HATTREM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hatterene_(Pokémon) | Source} */ HATTERENE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Impidimp_(Pokémon) | Source} */ IMPIDIMP, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Morgrem_(Pokémon) | Source} */ MORGREM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grimmsnarl_(Pokémon) | Source} */ GRIMMSNARL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Obstagoon_(Pokémon) | Source} */ OBSTAGOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Perrserker_(Pokémon) | Source} */ PERRSERKER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cursola_(Pokémon) | Source} */ CURSOLA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sirfetchd_(Pokémon) | Source} */ SIRFETCHD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mr_Rime_(Pokémon) | Source} */ MR_RIME, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Runerigus_(Pokémon) | Source} */ RUNERIGUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Milcery_(Pokémon) | Source} */ MILCERY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Alcremie_(Pokémon) | Source} */ ALCREMIE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Falinks_(Pokémon) | Source} */ FALINKS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pincurchin_(Pokémon) | Source} */ PINCURCHIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Snom_(Pokémon) | Source} */ SNOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frosmoth_(Pokémon) | Source} */ FROSMOTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stonjourner_(Pokémon) | Source} */ STONJOURNER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eiscue_(Pokémon) | Source} */ EISCUE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Indeedee_(Pokémon) | Source} */ INDEEDEE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Morpeko_(Pokémon) | Source} */ MORPEKO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cufant_(Pokémon) | Source} */ CUFANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Copperajah_(Pokémon) | Source} */ COPPERAJAH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dracozolt_(Pokémon) | Source} */ DRACOZOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arctozolt_(Pokémon) | Source} */ ARCTOZOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dracovish_(Pokémon) | Source} */ DRACOVISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arctovish_(Pokémon) | Source} */ ARCTOVISH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Duraludon_(Pokémon) | Source} */ DURALUDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dreepy_(Pokémon) | Source} */ DREEPY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Drakloak_(Pokémon) | Source} */ DRAKLOAK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dragapult_(Pokémon) | Source} */ DRAGAPULT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zacian_(Pokémon) | Source} */ ZACIAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zamazenta_(Pokémon) | Source} */ ZAMAZENTA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Eternatus_(Pokémon) | Source} */ ETERNATUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kubfu_(Pokémon) | Source} */ KUBFU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Urshifu_(Pokémon) | Source} */ URSHIFU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zarude_(Pokémon) | Source} */ ZARUDE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regieleki_(Pokémon) | Source} */ REGIELEKI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Regidrago_(Pokémon) | Source} */ REGIDRAGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glastrier_(Pokémon) | Source} */ GLASTRIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spectrier_(Pokémon) | Source} */ SPECTRIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Calyrex_(Pokémon) | Source} */ CALYREX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wyrdeer_(Pokémon) | Source} */ WYRDEER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kleavor_(Pokémon) | Source} */ KLEAVOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ursaluna_(Pokémon) | Source} */ URSALUNA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Basculegion_(Pokémon) | Source} */ BASCULEGION, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sneasler_(Pokémon) | Source} */ SNEASLER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Overqwil_(Pokémon) | Source} */ OVERQWIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Enamorus_(Pokémon) | Source} */ ENAMORUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sprigatito_(Pokémon) | Source} */ SPRIGATITO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floragato_(Pokémon) | Source} */ FLORAGATO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meowscarada_(Pokémon) | Source} */ MEOWSCARADA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fuecoco_(Pokémon) | Source} */ FUECOCO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Crocalor_(Pokémon) | Source} */ CROCALOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Skeledirge_(Pokémon) | Source} */ SKELEDIRGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quaxly_(Pokémon) | Source} */ QUAXLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quaxwell_(Pokémon) | Source} */ QUAXWELL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Quaquaval_(Pokémon) | Source} */ QUAQUAVAL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lechonk_(Pokémon) | Source} */ LECHONK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Oinkologne_(Pokémon) | Source} */ OINKOLOGNE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tarountula_(Pokémon) | Source} */ TAROUNTULA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Spidops_(Pokémon) | Source} */ SPIDOPS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nymble_(Pokémon) | Source} */ NYMBLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lokix_(Pokémon) | Source} */ LOKIX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pawmi_(Pokémon) | Source} */ PAWMI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pawmo_(Pokémon) | Source} */ PAWMO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pawmot_(Pokémon) | Source} */ PAWMOT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tandemaus_(Pokémon) | Source} */ TANDEMAUS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Maushold_(Pokémon) | Source} */ MAUSHOLD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fidough_(Pokémon) | Source} */ FIDOUGH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dachsbun_(Pokémon) | Source} */ DACHSBUN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Smoliv_(Pokémon) | Source} */ SMOLIV, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dolliv_(Pokémon) | Source} */ DOLLIV, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arboliva_(Pokémon) | Source} */ ARBOLIVA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Squawkabilly_(Pokémon) | Source} */ SQUAWKABILLY, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Nacli_(Pokémon) | Source} */ NACLI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Naclstack_(Pokémon) | Source} */ NACLSTACK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Garganacl_(Pokémon) | Source} */ GARGANACL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Charcadet_(Pokémon) | Source} */ CHARCADET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Armarouge_(Pokémon) | Source} */ ARMAROUGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ceruledge_(Pokémon) | Source} */ CERULEDGE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tadbulb_(Pokémon) | Source} */ TADBULB, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bellibolt_(Pokémon) | Source} */ BELLIBOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wattrel_(Pokémon) | Source} */ WATTREL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kilowattrel_(Pokémon) | Source} */ KILOWATTREL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Maschiff_(Pokémon) | Source} */ MASCHIFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mabosstiff_(Pokémon) | Source} */ MABOSSTIFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Shroodle_(Pokémon) | Source} */ SHROODLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grafaiai_(Pokémon) | Source} */ GRAFAIAI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bramblin_(Pokémon) | Source} */ BRAMBLIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brambleghast_(Pokémon) | Source} */ BRAMBLEGHAST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toedscool_(Pokémon) | Source} */ TOEDSCOOL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Toedscruel_(Pokémon) | Source} */ TOEDSCRUEL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Klawf_(Pokémon) | Source} */ KLAWF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Capsakid_(Pokémon) | Source} */ CAPSAKID, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scovillain_(Pokémon) | Source} */ SCOVILLAIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rellor_(Pokémon) | Source} */ RELLOR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rabsca_(Pokémon) | Source} */ RABSCA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flittle_(Pokémon) | Source} */ FLITTLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Espathra_(Pokémon) | Source} */ ESPATHRA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tinkatink_(Pokémon) | Source} */ TINKATINK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tinkatuff_(Pokémon) | Source} */ TINKATUFF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tinkaton_(Pokémon) | Source} */ TINKATON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wiglett_(Pokémon) | Source} */ WIGLETT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wugtrio_(Pokémon) | Source} */ WUGTRIO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Bombirdier_(Pokémon) | Source} */ BOMBIRDIER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Finizen_(Pokémon) | Source} */ FINIZEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Palafin_(Pokémon) | Source} */ PALAFIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Varoom_(Pokémon) | Source} */ VAROOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Revavroom_(Pokémon) | Source} */ REVAVROOM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cyclizar_(Pokémon) | Source} */ CYCLIZAR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Orthworm_(Pokémon) | Source} */ ORTHWORM, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glimmet_(Pokémon) | Source} */ GLIMMET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Glimmora_(Pokémon) | Source} */ GLIMMORA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Greavard_(Pokémon) | Source} */ GREAVARD, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Houndstone_(Pokémon) | Source} */ HOUNDSTONE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flamigo_(Pokémon) | Source} */ FLAMIGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cetoddle_(Pokémon) | Source} */ CETODDLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Cetitan_(Pokémon) | Source} */ CETITAN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Veluza_(Pokémon) | Source} */ VELUZA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dondozo_(Pokémon) | Source} */ DONDOZO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tatsugiri_(Pokémon) | Source} */ TATSUGIRI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Annihilape_(Pokémon) | Source} */ ANNIHILAPE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Clodsire_(Pokémon) | Source} */ CLODSIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Farigiraf_(Pokémon) | Source} */ FARIGIRAF, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dudunsparce_(Pokémon) | Source} */ DUDUNSPARCE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Kingambit_(Pokémon) | Source} */ KINGAMBIT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Great_Tusk_(Pokémon) | Source} */ GREAT_TUSK, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Scream_Tail_(Pokémon) | Source} */ SCREAM_TAIL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Brute_Bonnet_(Pokémon) | Source} */ BRUTE_BONNET, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Flutter_Mane_(Pokémon) | Source} */ FLUTTER_MANE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slither_Wing_(Pokémon) | Source} */ SLITHER_WING, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandy_Shocks_(Pokémon) | Source} */ SANDY_SHOCKS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Treads_(Pokémon) | Source} */ IRON_TREADS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Bundle_(Pokémon) | Source} */ IRON_BUNDLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Hands_(Pokémon) | Source} */ IRON_HANDS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Jugulis_(Pokémon) | Source} */ IRON_JUGULIS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Moth_(Pokémon) | Source} */ IRON_MOTH, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Thorns_(Pokémon) | Source} */ IRON_THORNS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Frigibax_(Pokémon) | Source} */ FRIGIBAX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arctibax_(Pokémon) | Source} */ ARCTIBAX, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Baxcalibur_(Pokémon) | Source} */ BAXCALIBUR, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gimmighoul_(Pokémon) | Source} */ GIMMIGHOUL, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gholdengo_(Pokémon) | Source} */ GHOLDENGO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wo_Chien_(Pokémon) | Source} */ WO_CHIEN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chien_Pao_(Pokémon) | Source} */ CHIEN_PAO, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ting_Lu_(Pokémon) | Source} */ TING_LU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Chi_Yu_(Pokémon) | Source} */ CHI_YU, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Roaring_Moon_(Pokémon) | Source} */ ROARING_MOON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Valiant_(Pokémon) | Source} */ IRON_VALIANT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Koraidon_(Pokémon) | Source} */ KORAIDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Miraidon_(Pokémon) | Source} */ MIRAIDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Walking_Wake_(Pokémon) | Source} */ WALKING_WAKE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Leaves_(Pokémon) | Source} */ IRON_LEAVES, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dipplin_(Pokémon) | Source} */ DIPPLIN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Poltchageist_(Pokémon) | Source} */ POLTCHAGEIST, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sinistcha_(Pokémon) | Source} */ SINISTCHA, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Okidogi_(Pokémon) | Source} */ OKIDOGI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Munkidori_(Pokémon) | Source} */ MUNKIDORI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Fezandipiti_(Pokémon) | Source} */ FEZANDIPITI, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ogerpon_(Pokémon) | Source} */ OGERPON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Archaludon_(Pokémon) | Source} */ ARCHALUDON, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Hydrapple_(Pokémon) | Source} */ HYDRAPPLE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Gouging_Fire_(Pokémon) | Source} */ GOUGING_FIRE, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raging_Bolt_(Pokémon) | Source} */ RAGING_BOLT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Boulder_(Pokémon) | Source} */ IRON_BOULDER, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Iron_Crown_(Pokémon) | Source} */ IRON_CROWN, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Terapagos_(Pokémon) | Source} */ TERAPAGOS, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Pecharunt_(Pokémon) | Source} */ PECHARUNT, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rattata_(Pokémon) | Source} */ ALOLA_RATTATA = 2019, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raticate_(Pokémon) | Source} */ ALOLA_RATICATE = 2020, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Raichu_(Pokémon) | Source} */ ALOLA_RAICHU = 2026, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandshrew_(Pokémon) | Source} */ ALOLA_SANDSHREW = 2027, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sandslash_(Pokémon) | Source} */ ALOLA_SANDSLASH = 2028, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Vulpix_(Pokémon) | Source} */ ALOLA_VULPIX = 2037, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ninetales_(Pokémon) | Source} */ ALOLA_NINETALES = 2038, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Diglett_(Pokémon) | Source} */ ALOLA_DIGLETT = 2050, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Dugtrio_(Pokémon) | Source} */ ALOLA_DUGTRIO = 2051, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meowth_(Pokémon) | Source} */ ALOLA_MEOWTH = 2052, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Persian_(Pokémon) | Source} */ ALOLA_PERSIAN = 2053, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Geodude_(Pokémon) | Source} */ ALOLA_GEODUDE = 2074, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Graveler_(Pokémon) | Source} */ ALOLA_GRAVELER = 2075, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Golem_(Pokémon) | Source} */ ALOLA_GOLEM = 2076, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Grimer_(Pokémon) | Source} */ ALOLA_GRIMER = 2088, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Muk_(Pokémon) | Source} */ ALOLA_MUK = 2089, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Exeggutor_(Pokémon) | Source} */ ALOLA_EXEGGUTOR = 2103, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Marowak_(Pokémon) | Source} */ ALOLA_MAROWAK = 2105, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Floette_(Pokémon) | Source} */ ETERNAL_FLOETTE = 2670, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Meowth_(Pokémon) | Source} */ GALAR_MEOWTH = 4052, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ponyta_(Pokémon) | Source} */ GALAR_PONYTA = 4077, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Rapidash_(Pokémon) | Source} */ GALAR_RAPIDASH = 4078, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowpoke_(Pokémon) | Source} */ GALAR_SLOWPOKE = 4079, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowbro_(Pokémon) | Source} */ GALAR_SLOWBRO = 4080, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Farfetchd_(Pokémon) | Source} */ GALAR_FARFETCHD = 4083, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Weezing_(Pokémon) | Source} */ GALAR_WEEZING = 4110, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Mr_Mime_(Pokémon) | Source} */ GALAR_MR_MIME = 4122, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Articuno_(Pokémon) | Source} */ GALAR_ARTICUNO = 4144, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zapdos_(Pokémon) | Source} */ GALAR_ZAPDOS = 4145, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Moltres_(Pokémon) | Source} */ GALAR_MOLTRES = 4146, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Slowking_(Pokémon) | Source} */ GALAR_SLOWKING = 4199, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Corsola_(Pokémon) | Source} */ GALAR_CORSOLA = 4222, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zigzagoon_(Pokémon) | Source} */ GALAR_ZIGZAGOON = 4263, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Linoone_(Pokémon) | Source} */ GALAR_LINOONE = 4264, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darumaka_(Pokémon) | Source} */ GALAR_DARUMAKA = 4554, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Darmanitan_(Pokémon) | Source} */ GALAR_DARMANITAN = 4555, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Yamask_(Pokémon) | Source} */ GALAR_YAMASK = 4562, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Stunfisk_(Pokémon) | Source} */ GALAR_STUNFISK = 4618, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Growlithe_(Pokémon) | Source} */ HISUI_GROWLITHE = 6058, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Arcanine_(Pokémon) | Source} */ HISUI_ARCANINE = 6059, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Voltorb_(Pokémon) | Source} */ HISUI_VOLTORB = 6100, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Electrode_(Pokémon) | Source} */ HISUI_ELECTRODE = 6101, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Typhlosion_(Pokémon) | Source} */ HISUI_TYPHLOSION = 6157, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Qwilfish_(Pokémon) | Source} */ HISUI_QWILFISH = 6211, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sneasel_(Pokémon) | Source} */ HISUI_SNEASEL = 6215, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Samurott_(Pokémon) | Source} */ HISUI_SAMUROTT = 6503, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Lilligant_(Pokémon) | Source} */ HISUI_LILLIGANT = 6549, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zorua_(Pokémon) | Source} */ HISUI_ZORUA = 6570, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Zoroark_(Pokémon) | Source} */ HISUI_ZOROARK = 6571, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Braviary_(Pokémon) | Source} */ HISUI_BRAVIARY = 6628, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Sliggoo_(Pokémon) | Source} */ HISUI_SLIGGOO = 6705, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Goodra_(Pokémon) | Source} */ HISUI_GOODRA = 6706, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Avalugg_(Pokémon) | Source} */ HISUI_AVALUGG = 6713, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Decidueye_(Pokémon) | Source} */ HISUI_DECIDUEYE = 6724, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Tauros_(Pokémon) | Source} */ PALDEA_TAUROS = 8128, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Wooper_(Pokémon) | Source} */ PALDEA_WOOPER = 8194, + /**{@link https://bulbapedia.bulbagarden.net/wiki/Ursaluna_(Pokémon) | Source} */ BLOODMOON_URSALUNA = 8901, }; From bb6bb1e6c1b275e27ba8016beb9589000dd3f39c Mon Sep 17 00:00:00 2001 From: Benjamin Odom Date: Tue, 7 May 2024 23:28:35 -0500 Subject: [PATCH 36/38] Fixed Crash Moves and Reckless (#609) * Fixed Crash Moves and Reckless Added a new MoveFlags flag 'RECKLESS_MOVE' to make crash and recoil moves in line with other move flag boosting attacks. Modified how flags were defined so they are easier to maintain. Added the appropriate flag to all mvoes listed as being affected by Reckless. Steel Beam and Mind Blown do not count according to source: https://bulbapedia.bulbagarden.net/wiki/Reckless_(Ability) * Update move.ts * Update abilities.ts --- src/data/ability.ts | 2 +- src/data/move.ts | 97 ++++++++++++++++++++++++++++++--------------- 2 files changed, 66 insertions(+), 33 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 92b26ea1551..88cf2d10b97 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -3035,7 +3035,7 @@ export function initAbilities() { new Ability(Abilities.FRISK, 4) .attr(FriskAbAttr), new Ability(Abilities.RECKLESS, 4) - .attr(MovePowerBoostAbAttr, (user, target, move) => move.getAttrs(RecoilAttr).length && move.id !== Moves.STRUGGLE, 1.2), + .attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.RECKLESS_MOVE), 1.2), new Ability(Abilities.MULTITYPE, 4) .attr(UncopiableAbilityAbAttr) .attr(UnswappableAbilityAbAttr) diff --git a/src/data/move.ts b/src/data/move.ts index 802a3f047b8..9eb5ae5baa4 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -54,22 +54,28 @@ export enum MoveTarget { } export enum MoveFlags { - MAKES_CONTACT = 1, - IGNORE_PROTECT = 2, - IGNORE_VIRTUAL = 4, - SOUND_BASED = 8, - HIDE_USER = 16, - HIDE_TARGET = 32, - BITING_MOVE = 64, - PULSE_MOVE = 128, - PUNCHING_MOVE = 256, - SLICING_MOVE = 512, - BALLBOMB_MOVE = 1024, - POWDER_MOVE = 2048, - DANCE_MOVE = 4096, - WIND_MOVE = 8192, - TRIAGE_MOVE = 16384, - IGNORE_ABILITIES = 32768 + NONE = 0, + MAKES_CONTACT = 1 << 0, + IGNORE_PROTECT = 1 << 1, + IGNORE_VIRTUAL = 1 << 2, + SOUND_BASED = 1 << 3, + HIDE_USER = 1 << 4, + HIDE_TARGET = 1 << 5, + BITING_MOVE = 1 << 6, + PULSE_MOVE = 1 << 7, + PUNCHING_MOVE = 1 << 8, + SLICING_MOVE = 1 << 9, + /** + * Indicates a move should be affected by {@link Abilities.RECKLESS} + * @see {@link Move.recklessMove()} + */ + RECKLESS_MOVE = 1 << 10, + BALLBOMB_MOVE = 1 << 11, + POWDER_MOVE = 1 << 12, + DANCE_MOVE = 1 << 13, + WIND_MOVE = 1 << 14, + TRIAGE_MOVE = 1 << 15, + IGNORE_ABILITIES = 1 << 16, } type MoveConditionFunc = (user: Pokemon, target: Pokemon, move: Move) => boolean; @@ -269,6 +275,17 @@ export default class Move implements Localizable { return this; } + /** + * Sets the {@link MoveFlags.RECKLESS_MOVE} flag for the calling Move + * @see {@link Abilities.RECKLESS} + * @param {boolean} recklessMove The value to set the flag to + * @returns {Move} The {@link Move} that called this function + */ + recklessMove(recklessMove?: boolean): this { + this.setFlag(MoveFlags.RECKLESS_MOVE, recklessMove); + return this; + } + ballBombMove(ballBombMove?: boolean): this { this.setFlag(MoveFlags.BALLBOMB_MOVE, ballBombMove); return this; @@ -4073,7 +4090,8 @@ export function initMoves() { new AttackMove(Moves.JUMP_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 95, 10, -1, 0, 1) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) - .condition(failOnGravityCondition), + .condition(failOnGravityCondition) + .recklessMove(), new AttackMove(Moves.ROLLING_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 60, 85, 15, 30, 0, 1) .attr(FlinchAttr), new StatusMove(Moves.SAND_ATTACK, Type.GROUND, 100, 15, -1, 0, 1) @@ -4092,13 +4110,15 @@ export function initMoves() { new AttackMove(Moves.WRAP, Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, 100, 0, 1) .attr(TrapAttr, BattlerTagType.WRAP), new AttackMove(Moves.TAKE_DOWN, Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, -1, 0, 1) - .attr(RecoilAttr), + .attr(RecoilAttr) + .recklessMove(), new AttackMove(Moves.THRASH, Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 1) .attr(FrenzyAttr) .attr(MissEffectAttr, frenzyMissFunc) .target(MoveTarget.RANDOM_NEAR_ENEMY), new AttackMove(Moves.DOUBLE_EDGE, Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 1) - .attr(RecoilAttr, false, 0.33), + .attr(RecoilAttr, false, 0.33) + .recklessMove(), new StatusMove(Moves.TAIL_WHIP, Type.NORMAL, 100, 30, -1, 0, 1) .attr(StatChangeAttr, BattleStat.DEF, -1) .target(MoveTarget.ALL_NEAR_ENEMIES), @@ -4170,7 +4190,8 @@ export function initMoves() { new AttackMove(Moves.PECK, Type.FLYING, MoveCategory.PHYSICAL, 35, 100, 35, -1, 0, 1), new AttackMove(Moves.DRILL_PECK, Type.FLYING, MoveCategory.PHYSICAL, 80, 100, 20, -1, 0, 1), new AttackMove(Moves.SUBMISSION, Type.FIGHTING, MoveCategory.PHYSICAL, 80, 80, 20, -1, 0, 1) - .attr(RecoilAttr), + .attr(RecoilAttr) + .recklessMove(), new AttackMove(Moves.LOW_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 20, -1, 0, 1) .attr(WeightPowerAttr) .condition(failOnMaxCondition), @@ -4358,7 +4379,8 @@ export function initMoves() { new AttackMove(Moves.HIGH_JUMP_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 130, 90, 10, -1, 0, 1) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) - .condition(failOnGravityCondition), + .condition(failOnGravityCondition) + .recklessMove(), new StatusMove(Moves.GLARE, Type.NORMAL, 100, 30, -1, 0, 1) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), new AttackMove(Moves.DREAM_EATER, Type.PSYCHIC, MoveCategory.SPECIAL, 100, 100, 15, -1, 0, 1) @@ -4943,7 +4965,8 @@ export function initMoves() { .attr(StealHeldItemChanceAttr, 0.3), new AttackMove(Moves.VOLT_TACKLE, Type.ELECTRIC, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 3) .attr(RecoilAttr, false, 0.33) - .attr(StatusEffectAttr, StatusEffect.PARALYSIS), + .attr(StatusEffectAttr, StatusEffect.PARALYSIS) + .recklessMove(), new AttackMove(Moves.MAGICAL_LEAF, Type.GRASS, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 3), new StatusMove(Moves.WATER_SPORT, Type.WATER, -1, 15, -1, 0, 3) .attr(AddArenaTagAttr, ArenaTagType.WATER_SPORT, 5) @@ -5086,7 +5109,8 @@ export function initMoves() { .attr(RecoilAttr, false, 0.33) .attr(HealStatusEffectAttr, true, StatusEffect.FREEZE) .attr(StatusEffectAttr, StatusEffect.BURN) - .condition(failOnGravityCondition), + .condition(failOnGravityCondition) + .recklessMove(), new AttackMove(Moves.FORCE_PALM, Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, 30, 0, 4) .attr(StatusEffectAttr, StatusEffect.PARALYSIS), new AttackMove(Moves.AURA_SPHERE, Type.FIGHTING, MoveCategory.SPECIAL, 80, -1, 20, -1, 0, 4) @@ -5131,7 +5155,8 @@ export function initMoves() { .attr(StatChangeAttr, BattleStat.SPDEF, -1) .ballBombMove(), new AttackMove(Moves.BRAVE_BIRD, Type.FLYING, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) - .attr(RecoilAttr, false, 0.33), + .attr(RecoilAttr, false, 0.33) + .recklessMove(), new AttackMove(Moves.EARTH_POWER, Type.GROUND, MoveCategory.SPECIAL, 90, 100, 10, 10, 0, 4) .attr(StatChangeAttr, BattleStat.SPDEF, -1), new StatusMove(Moves.SWITCHEROO, Type.DARK, 100, 10, -1, 0, 4) @@ -5237,7 +5262,8 @@ export function initMoves() { new AttackMove(Moves.CHARGE_BEAM, Type.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, 70, 0, 4) .attr(StatChangeAttr, BattleStat.SPATK, 1, true), new AttackMove(Moves.WOOD_HAMMER, Type.GRASS, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 4) - .attr(RecoilAttr, false, 0.33), + .attr(RecoilAttr, false, 0.33) + .recklessMove(), new AttackMove(Moves.AQUA_JET, Type.WATER, MoveCategory.PHYSICAL, 40, 100, 20, -1, 1, 4), new AttackMove(Moves.ATTACK_ORDER, Type.BUG, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 4) .attr(HighCritAttr) @@ -5248,7 +5274,8 @@ export function initMoves() { .attr(HealAttr, 0.5) .triageMove(), new AttackMove(Moves.HEAD_SMASH, Type.ROCK, MoveCategory.PHYSICAL, 150, 80, 5, -1, 0, 4) - .attr(RecoilAttr, false, 0.5), + .attr(RecoilAttr, false, 0.5) + .recklessMove(), new AttackMove(Moves.DOUBLE_HIT, Type.NORMAL, MoveCategory.PHYSICAL, 35, 90, 10, -1, 0, 4) .attr(MultiHitAttr, MultiHitType._2), new AttackMove(Moves.ROAR_OF_TIME, Type.DRAGON, MoveCategory.SPECIAL, 150, 90, 5, -1, 0, 4) @@ -5436,7 +5463,8 @@ export function initMoves() { .attr(StatChangeAttr, BattleStat.SPD, -1) .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.WILD_CHARGE, Type.ELECTRIC, MoveCategory.PHYSICAL, 90, 100, 15, -1, 0, 5) - .attr(RecoilAttr), + .attr(RecoilAttr) + .recklessMove(), new AttackMove(Moves.DRILL_RUN, Type.GROUND, MoveCategory.PHYSICAL, 80, 95, 10, -1, 0, 5) .attr(HighCritAttr), new AttackMove(Moves.DUAL_CHOP, Type.DRAGON, MoveCategory.PHYSICAL, 40, 90, 15, -1, 0, 5) @@ -5473,7 +5501,8 @@ export function initMoves() { .attr(HitsTagAttr, BattlerTagType.FLYING, false) .windMove(), new AttackMove(Moves.HEAD_CHARGE, Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 15, -1, 0, 5) - .attr(RecoilAttr), + .attr(RecoilAttr) + .recklessMove(), new AttackMove(Moves.GEAR_GRIND, Type.STEEL, MoveCategory.PHYSICAL, 50, 85, 15, -1, 0, 5) .attr(MultiHitAttr, MultiHitType._2), new AttackMove(Moves.SEARING_SHOT, Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, 30, 0, 5) @@ -5687,7 +5716,8 @@ export function initMoves() { .makesContact(false) .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.LIGHT_OF_RUIN, Type.FAIRY, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 6) - .attr(RecoilAttr, false, 0.5), + .attr(RecoilAttr, false, 0.5) + .recklessMove(), new AttackMove(Moves.ORIGIN_PULSE, Type.WATER, MoveCategory.SPECIAL, 110, 85, 10, -1, 0, 6) .pulseMove() .target(MoveTarget.ALL_NEAR_ENEMIES), @@ -6268,7 +6298,8 @@ export function initMoves() { .attr(MissEffectAttr, frenzyMissFunc) .target(MoveTarget.RANDOM_NEAR_ENEMY), new AttackMove(Moves.WAVE_CRASH, Type.WATER, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8) - .attr(RecoilAttr, false, 0.33), + .attr(RecoilAttr, false, 0.33) + .recklessMove(), new AttackMove(Moves.CHLOROBLAST, Type.GRASS, MoveCategory.SPECIAL, 150, 95, 5, -1, 0, 8) .attr(RecoilAttr, true, 0.5), new AttackMove(Moves.MOUNTAIN_GALE, Type.ICE, MoveCategory.PHYSICAL, 100, 85, 10, 30, 0, 8) @@ -6432,7 +6463,8 @@ export function initMoves() { new AttackMove(Moves.AXE_KICK, Type.FIGHTING, MoveCategory.PHYSICAL, 120, 90, 10, 30, 0, 9) .attr(MissEffectAttr, crashDamageFunc) .attr(NoEffectAttr, crashDamageFunc) - .attr(ConfuseAttr), + .attr(ConfuseAttr) + .recklessMove(), new AttackMove(Moves.LAST_RESPECTS, Type.GHOST, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 9) .attr(MovePowerMultiplierAttr, (user, target, move) => { return user.scene.getParty().reduce((acc, pokemonInParty) => acc + (pokemonInParty.status?.effect == StatusEffect.FAINT ? 1 : 0), @@ -6636,7 +6668,8 @@ export function initMoves() { .attr(MovePowerMultiplierAttr, (user, target, move) => user.getLastXMoves(2)[1]?.result == MoveResult.MISS || user.getLastXMoves(2)[1]?.result == MoveResult.FAIL ? 2 : 1), new AttackMove(Moves.SUPERCELL_SLAM, Type.ELECTRIC, MoveCategory.PHYSICAL, 100, 95, 15, -1, 0, 9) .attr(MissEffectAttr, crashDamageFunc) - .attr(NoEffectAttr, crashDamageFunc), + .attr(NoEffectAttr, crashDamageFunc) + .recklessMove(), new AttackMove(Moves.PSYCHIC_NOISE, Type.PSYCHIC, MoveCategory.SPECIAL, 75, 100, 10, -1, 0, 9) .soundBased() .partial(), From 118c57ba75a0e568c5c4628d2de1f0add39cae78 Mon Sep 17 00:00:00 2001 From: Procyonae <45432782+Procyonae@users.noreply.github.com> Date: Wed, 8 May 2024 05:44:55 +0100 Subject: [PATCH 37/38] Add fell stingers effect (#202) * Add Fell Stinger Effect * Update src/phases.ts --- src/data/move.ts | 27 +++++++++++++++++++++++++-- src/phases.ts | 12 ++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index 9eb5ae5baa4..17c37df0860 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -1561,6 +1561,29 @@ export class StatChangeAttr extends MoveEffectAttr { } } +export class PostVictoryStatChangeAttr extends MoveAttr { + private stats: BattleStat[]; + private levels: integer; + private condition: MoveConditionFunc; + private showMessage: boolean; + + constructor(stats: BattleStat | BattleStat[], levels: integer, selfTarget?: boolean, condition?: MoveConditionFunc, showMessage: boolean = true, firstHitOnly: boolean = false) { + super(); + this.stats = typeof(stats) === 'number' + ? [ stats as BattleStat ] + : stats as BattleStat[]; + this.levels = levels; + this.condition = condition || null; + this.showMessage = showMessage; + } + applyPostVictory(user: Pokemon, target: Pokemon, move: Move): void { + if(this.condition && !this.condition(user, target, move)) + return false; + const statChangeAttr = new StatChangeAttr(this.stats, this.levels, this.showMessage); + statChangeAttr.apply(user, target, move); + } +} + export class AcupressureStatChangeAttr extends MoveEffectAttr { constructor() { super(); @@ -1575,7 +1598,7 @@ export class AcupressureStatChangeAttr extends MoveEffectAttr { return true; } return false; - } + } } export class GrowthStatChangeAttr extends StatChangeAttr { @@ -5565,7 +5588,7 @@ export function initMoves() { .attr(AddArenaTrapTagAttr, ArenaTagType.STICKY_WEB) .target(MoveTarget.ENEMY_SIDE), new AttackMove(Moves.FELL_STINGER, Type.BUG, MoveCategory.PHYSICAL, 50, 100, 25, -1, 0, 6) - .partial(), + .attr(PostVictoryStatChangeAttr, BattleStat.ATK, 3, true ), new AttackMove(Moves.PHANTOM_FORCE, Type.GHOST, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6) .attr(ChargeAttr, ChargeAnim.PHANTOM_FORCE_CHARGING, 'vanished\ninstantly!', BattlerTagType.HIDDEN) .ignoresProtect() diff --git a/src/phases.ts b/src/phases.ts index 9ed1161f7b8..e5d67de28af 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -2,7 +2,7 @@ import BattleScene, { AnySound, bypassLogin, startingWave } from "./battle-scene import { default as Pokemon, PlayerPokemon, EnemyPokemon, PokemonMove, MoveResult, DamageResult, FieldPosition, HitResult, TurnMove } from "./field/pokemon"; import * as Utils from './utils'; import { Moves } from "./data/enums/moves"; -import { allMoves, applyMoveAttrs, BypassSleepAttr, ChargeAttr, applyFilteredMoveAttrs, HitsTagAttr, MissEffectAttr, MoveAttr, MoveEffectAttr, MoveFlags, MultiHitAttr, OverrideMoveEffectAttr, VariableAccuracyAttr, MoveTarget, OneHitKOAttr, getMoveTargets, MoveTargetSet, MoveEffectTrigger, CopyMoveAttr, AttackMove, SelfStatusMove, DelayedAttackAttr, RechargeAttr, PreMoveMessageAttr, HealStatusEffectAttr, IgnoreOpponentStatChangesAttr, NoEffectAttr, FixedDamageAttr, OneHitKOAccuracyAttr, ForceSwitchOutAttr, VariableTargetAttr } from "./data/move"; +import { allMoves, applyMoveAttrs, BypassSleepAttr, ChargeAttr, applyFilteredMoveAttrs, HitsTagAttr, MissEffectAttr, MoveAttr, MoveEffectAttr, MoveFlags, MultiHitAttr, OverrideMoveEffectAttr, VariableAccuracyAttr, MoveTarget, OneHitKOAttr, getMoveTargets, MoveTargetSet, MoveEffectTrigger, CopyMoveAttr, AttackMove, SelfStatusMove, DelayedAttackAttr, RechargeAttr, PreMoveMessageAttr, HealStatusEffectAttr, IgnoreOpponentStatChangesAttr, NoEffectAttr, FixedDamageAttr, PostVictoryStatChangeAttr, OneHitKOAccuracyAttr, ForceSwitchOutAttr, VariableTargetAttr } from "./data/move"; import { Mode } from './ui/ui'; import { Command } from "./ui/command-ui-handler"; import { Stat } from "./data/pokemon-stat"; @@ -3142,8 +3142,16 @@ export class FaintPhase extends PokemonPhase { alivePlayField.forEach(p => applyPostKnockOutAbAttrs(PostKnockOutAbAttr, p, pokemon)); if (pokemon.turnData?.attacksReceived?.length) { const defeatSource = this.scene.getPokemonById(pokemon.turnData.attacksReceived[0].sourceId); - if (defeatSource?.isOnField()) + if (defeatSource?.isOnField()) { applyPostVictoryAbAttrs(PostVictoryAbAttr, defeatSource); + const pvmove = allMoves[pokemon.turnData.attacksReceived[0].move]; + const pvattrs = pvmove.getAttrs(PostVictoryStatChangeAttr); + if (pvattrs.length) { + for (let pvattr of pvattrs) { + pvattr.applyPostVictory(defeatSource, defeatSource, pvmove); + } + } + } } if (this.player) { From bb28d3599e5b141cf2dde4c24672da3086dac839 Mon Sep 17 00:00:00 2001 From: Jeremy B Date: Wed, 8 May 2024 00:32:38 -0500 Subject: [PATCH 38/38] fix scrappy and mindseye working as passive ability (#567) * fix scrappy and mindseye working as passive ability * update apply for ignoretypeimmunityabattr * simplify logic for ignoretypeimmunityabattr --------- Co-authored-by: contra1337 --- src/data/ability.ts | 11 ++++++----- src/field/pokemon.ts | 16 +++++++++------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/data/ability.ts b/src/data/ability.ts index 88cf2d10b97..0d2c0cc27f5 100644 --- a/src/data/ability.ts +++ b/src/data/ability.ts @@ -2496,11 +2496,11 @@ export class IgnoreTypeImmunityAbAttr extends AbAttr { } apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean { - if (this.defenderType !== (args[1] as Type)) { - return false; + if (this.defenderType === (args[1] as Type) && this.allowedMoveTypes.includes(args[0] as Type)) { + cancelled.value = true; + return true; } - - return this.allowedMoveTypes.some(type => type === (args[0] as Type)); + return false; } } @@ -3606,7 +3606,8 @@ export function initAbilities() { .partial(), new Ability(Abilities.MINDS_EYE, 9) .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [Type.NORMAL, Type.FIGHTING]) - .ignorable(), // TODO: evasiveness bypass should not be ignored, but accuracy immunity should + .ignorable() // TODO: evasiveness bypass should not be ignored, but accuracy immunity should + .partial(), new Ability(Abilities.SUPERSWEET_SYRUP, 9) .attr(PostSummonStatChangeAbAttr, BattleStat.EVA, -1) .condition(getOncePerBattleCondition(Abilities.SUPERSWEET_SYRUP)), diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 9ac3aec53ac..8110bf96bfd 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -908,14 +908,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { return this.isTerastallized() ? 2 : 1; const types = this.getTypes(true, true); - const ignorableImmunities = source?.getAbility()?.getAttrs(IgnoreTypeImmunityAbAttr) || []; - const cancelled = new Utils.BooleanHolder(false); + let multiplier = types.map(defType => { + if (source) { + const ignoreImmunity = new Utils.BooleanHolder(false); + applyAbAttrs(IgnoreTypeImmunityAbAttr, source, ignoreImmunity, moveType, defType); + if (ignoreImmunity.value) + return 1; + } - let multiplier = types.map(defType => - ignorableImmunities.some(attr => attr.apply(source, false, cancelled, [moveType, defType])) - ? 1 - : getTypeDamageMultiplier(moveType, defType) - ).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; + return getTypeDamageMultiplier(moveType, defType); + }).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier; // Handle strong winds lowering effectiveness of types super effective against pure flying if (this.scene.arena.weather?.weatherType === WeatherType.STRONG_WINDS && !this.scene.arena.weather.isEffectSuppressed(this.scene) && multiplier >= 2 && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2)